真的不明白0xFFFFU是什么东西 ( 积分: 200 )

  • 主题发起人 主题发起人 howwise
  • 开始时间 开始时间
H

howwise

Unregistered / Unconfirmed
GUEST, unregistred user!
面是C语言CRC算法的大概写法,硬件厂商提供的,我想把他转成PASCAL的,可是就真的不明白0xFFFFU是什么东西
const unsigned int crctable[256]=
{0x0000,0x1021,0x2042,...0x0Eb2,0x0ED1,0x1EF0
};
void rx_int(void)
{
unsigned int iwork;
rx_index =0
rx_buff[rx_index++] = rxdata;

iwork = crctalbe[ (unsigned char) (0xFFFFU >> 8) ^ Rxdata]
crc_rxvalue_uart1 =(0xFFFFU << 8) ^ iwork;
}
 
面是C语言CRC算法的大概写法,硬件厂商提供的,我想把他转成PASCAL的,可是就真的不明白0xFFFFU是什么东西
const unsigned int crctable[256]=
{0x0000,0x1021,0x2042,...0x0Eb2,0x0ED1,0x1EF0
};
void rx_int(void)
{
unsigned int iwork;
rx_index =0
rx_buff[rx_index++] = rxdata;

iwork = crctalbe[ (unsigned char) (0xFFFFU >> 8) ^ Rxdata]
crc_rxvalue_uart1 =(0xFFFFU << 8) ^ iwork;
}
 
就是不知道这个U是什么。
 
代表无符号数
const unsigned int crctable[256]=
{0x0000,0x1021,0x2042,...0x0Eb2,0x0ED1,0x1EF0
};
已经定义为 unsigned int 了,所以后面加不加U都是一样
0xFFFF 是一个常数,所以必须加上 U 代表这个是一个无符号数,否则移位后会出错
 
非常感谢。
 
接受答案了.
 
后退
顶部