采用单片机C语言进行串行口通信编程,在传输无符号整型数值时,需将无符号整型数值变成两个8位的字节来传输,例如若将保持寄存器中的温度数值800°C,分解为两个字节,其低字节为0x20(十进制30),高字节为( ) A.0x01B.0x02C.0x03D.0x04相关知识点:
为区分高8位低8位,还可以优化下 typedef union{ uint a;数组也可以强制类型转换。总得来说大小端...
假如 unsigned int a 就是那个无符号的整形数 ,a&0xff就获取了a的低8位。假如你要替换的8位二进制是01101100b,直接a&0xffffff00|01101100b就将a的第八位换成了你想替换的8位二进制数。
-7的二字节补码是11111111 11111001,把这个数按%X输出,就是当作4字节无符号16进制形式输出,那么输出前就得进行“符号位扩展”成4字节,由于无符号类型的“符号位”被认为是0,所以c被扩展为00000000 0000000 11111111 11111001;而输出时前导0是默认要消除的,所以最后输出为FFF9——或者干脆可以理解为...