dedecms织梦内容管理系统      
首页 | 51单片机 | 休闲娱乐 | 手工乐园 | 免费软件 | 理财专区 | 串口通信 | UNIX/LINUX | TurboC | 专题 | 会员中心 | 支持论坛
  当前位置:主页>串口通信 >文章内容
负数补码计算方法
来源:原创 作者:温柔老胡 发布时间:2007-07-18  

在通信中,按协议说明,通常用负值上传,当接收到负值数据后,需要将负值数据转换成计算机中表示的正确的负值.下面列出两个方法,如何将16整数的负值形式转换成计算机中可显示的数值.


 //方法1,采用取反加1的标准处理方法
 int a = 0x0000FFCB;
 a = ((~a) & 0x0000FFFF)+1; // 需要注意,只能对采集到的16位数据进行取反
 a *= -1;


 //方法2,高位直接补1法(推荐)
// 说明:现在使用的计算机一般仍是32位的数据,一个整形数字找为32位,那么要还原成实际的负值,只需要将高位直接补1即可
 int b = 0x0000FFCB;
 b |= 0xFFFF0000;

说明: 胡文晋 版权所有  转载必须注明出处


(阅读次数:
上一篇:打字与英文复习软件   下一篇:HideWnd(获取系统任务列表技术)
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论
  热点文章
·一个实用的串口类(一)[串口通信
·一个实用的串口类(二)[串口通信
  相关文章
·一个实用的串口类(一)[串口通信
·一个实用的串口类(二)[串口通信

 Powered by 温柔老胡 System by www.dedecms.com