+ -
当前位置:首页 → 问答吧 → 关于 源码 、补码 、补数的问题?

关于 源码 、补码 、补数的问题?

时间:2010-08-18

来源:互联网

“模”是指一个计量系统的计数范围。如时钟等:
时钟的计量范围是0~11,模=12。  

时间里有: 10 -  4 = 6;                  (四点)
                 10 + 8 = 18 = 12 + 4;(四点)

对“模”而言,8和4互为补数。凡是减4运算,都可以用加8来代替。

但是计算机里: 1 - 2  并不等于 1 + (2的补码) ???

作者: flypig188   发布时间: 2010-08-18

本帖最后由 yulihua49 于 2010-08-18 19:16 编辑


QUOTE:
“模”是指一个计量系统的计数范围。如时钟等:
时钟的计量范围是0~11,模=12。  

时间里有: 10 -  ...
flypig188 发表于 2010-08-18 18:07




    等啊!这是典型的有限域的问题,计算机处理的都是有限域。
一般的模都是256,65536,或214748??????=32bit,或64bit。
减法就是加补码。如果你的模不是这些,那么用%操作。

作者: yulihua49   发布时间: 2010-08-18

补码是指数值的编码存储方式
而你所说的互补数是那个模减去本身得到的,因此你在算本身的“补”的时候要用那个模减去2来求得2的“补”

作者: daybreakcx   发布时间: 2010-08-18