门关键词: 压电滤波器 防爆压力变送器 金属膜电容器 openoffice组件 fd680移频器 图尔克流量开关 光有源器件
IC库存(8958万) PDF资料(329万) IC价格 IC求购 资讯 技术资料
电子元器件搜索:
维库电子市场网是知名的电子元器件交易网站,为电子生产企业提供IC库存和技术资料查询服务。
补码的原理大家真的都搞清楚了么?
新闻出处:21ic 发布时间: 2007-09-28
啊粒狗肉 发布于 2007-9-27 19:35:00
这个问题我现在越想越晕,为什么把负数的绝对值取反加一了就是补码?

再举个例子: -12 的补码是0XF4,
       4-16就得到了-12,这又怎么解释?


HWM 发布于 2007-9-27 20:34:00
上式中 ((2^n-1)-y)+1 就是 y 的补码。

注:“模2^n等”就是n位二进制数“不考虑进位”的相等关系。


* - 本贴最后修改时间:2007-9-27 20:36:19 修改者:HWM


ayb_ice 发布于 2007-9-27 20:39:00
负数的补码应该是按位取反再加一(符号不能取反)...


HWM 发布于 2007-9-27 20:46:00
原码和补码只是相补的关系,类似于补角。

他们的关系是:原码 + 补码 = 2^n

其中 n 是位数。

正数也可以取补。


* - 本贴最后修改时间:2007-9-27 20:47:50 修改者:HWM


啊粒狗肉 发布于 2007-9-27 21:16:00
也就是相对负数的正值取反加一。

谢谢HWM ,补码的来历明白了。

* - 本贴最后修改时间:2007-9-27 21:42:34 修改者:啊粒狗肉


啊粒狗肉 发布于 2007-9-27 21:46:00
-12 的补码是0XF4, 4-16就得到了-12,
 -239 的补码是0xff11, 17-256就得到-239,   这又怎么解释?没想明白




HWM 发布于 2007-9-28 7:48:00
算的时候注意位数,并且最高位是1表示为负数。



啊粒狗肉 发布于 2007-9-28 8:41:00
 啊粒狗肉 发表于 2007-9-27 21:46 侃单片机 ←返回版面  
另外一个问题怎么解释
 -12 的补码是0XF4, 4-16就得到了-12,
 -239 的补码是0xff11, 17-256就得到-239,  这又怎么解释?没想明白



HWM 发表于 2007-9-28 07:48 侃单片机 ←返回版面   
6楼:自己算一下就明白了。
算的时候注意位数,并且最高位是1表示为负数。

你说的算是指怎么算,能不能再详细点,谢谢



* - 本贴最后修改时间:2007-9-28 8:45:22 修改者:啊粒狗肉


HWM 发布于 2007-9-28 9:43:00
4 - 16 -> 4 + F0h(16的补) -> F4h(12的补) -> -12

17-256 -> 11h + FF00h(256的补) -> FF11(239的补) -> -239




twz8858877 发布于 2007-9-28 9:48:00
选择十六进制,选好位数(即字节、字、双字、四字),算一下就知道了
真要手算:4的二进制是   00000100
         16的二进制是   00010000
   做二进制减法结果为   11110100    借位位(C)为1
舍去借位位结果就是0XF4了,也就是4-16=-12的补码(以上为字节形式,如要其它形式则补满前面的位即可)
补码能够方便计算,如将减法操作转成加法形式,4-16=4+(-16的补码)


关闭】 【打印
 
相关专题
 
友情链接:
© 2007 电子元件网 网站地图