|
在通信中,按协议说明,通常用负值上传,当接收到负值数据后,需要将负值数据转换成计算机中表示的正确的负值.下面列出两个方法,如何将16整数的负值形式转换成计算机中可显示的数值.
//方法1,采用取反加1的标准处理方法 int a = 0x0000FFCB; a = ((~a) & 0x0000FFFF)+1; // 需要注意,只能对采集到的16位数据进行取反 a *= -1;
//方法2,高位直接补1法(推荐) // 说明:现在使用的计算机一般仍是32位的数据,一个整形数字找为32位,那么要还原成实际的负值,只需要将高位直接补1即可 int b = 0x0000FFCB; b |= 0xFFFF0000;
说明: 胡文晋 版权所有 转载必须注明出处
(阅读次数:)
|