8个IF语句,怎样变简单些?原意是8个结构变量只要不为0,并且err_chl_date[0].chl_date的8个不同的位,置1为真,那么数组g_AckBuf[35]的8个位分别置1.要不就为0
if((err_pra[0].err_name_date!=0) && ((err_chl_date[0].chl_date &= 0x01)==0x01))
{
g_AckBuf[35]|=0x01;
}
else {
g_AckBuf[35]&=0xf7;
}
if((err_pra[1].err_name_date!=0) && ((err_chl_date[1].chl_date &= 0x02)==0x01))
{
g_AckBuf[35]|=0x02;
}
else {
g_AckBuf[35]&=0xfd;
}
if((err_pra[2].err_name_date!=0) && ((err_chl_date[2].chl_date &= 0x04)==0x01))
{
g_AckBuf[35]|=0x04;
}
else {
g_AckBuf[35]&=0xfb;
}
if((err_pra[3].err_name_date!=0) && ((err_chl_date[3].chl_date &= 0x08)==0x01))
{
g_AckBuf[35]|=0x08;
}
else {
g_AckBuf[35]&=0xf7;
}
if((err_pra[4].err_name_date!=0) && ((err_chl_date[4].chl_date &= 0x10)==0x01))
{
g_AckBuf[35]|=0x10;
}
else {
g_AckBuf[35]&=0xef;
}
if((err_pra[5].err_name_date!=0) && ((err_chl_date[5].chl_date &= 0x20)==0x01))
{
g_AckBuf[35]|=0x20;
}
else {
g_AckBuf[35]&=0xdf;
}
if((err_pra[6].err_name_date!=0) && ((err_chl_date[6].chl_date &= 0x40)==0x01))
{
g_AckBuf[35]|=0x40;
}
else {
g_AckBuf[35]&=0xbf;
}
if((err_pra[7].err_name_date!=0) && ((err_chl_date[7].chl_date &= 0x80)==0x01))
{
g_AckBuf[35]|=0x80;
}
else {
g_AckBuf[35]&=0x7f;
} |