所以,我的类型为__be16(2个字节)。在十六进制中,该值表示为十进制的0x0800或2048。 (16 ^ 2 * 8)
所以,当我打印这个;我这样做:
printf("%04X", value); //__be16 value;
//Print a hex value of at least 4 characters, no padding.
输出: 0008
printf("%i", value); //Print an integer.
输出: 8
我应该得到 分别是0800和2048,我做错了什么?
答案 0 :(得分:8)
我的猜测是value
是8: - )
你是在小端机器上,比如x86吗?我要猜测,be16
你的意思是该值是大端,你需要交换字节。