关于二进制负数的绝对值

二进制正数绝对值为符号位后,为什么二进制负数的绝对值不是符号位后的值呢?比如10010110 它的绝对值为什么不是10110?

般情况下,二进制表示负数不会使用补码的,补码只在计算机内部使用。

如果有人说 1000 0001 是负数,意思就是 -1。因此,取绝对值将最高位清0就可以了。

二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”,由18世纪德国数理哲学大师莱布尼兹发现。

扩展资料:

二进制负数采用原因:

(1)技术实现简单,计算机是由逻辑电路组成,逻辑电路通常只有两个状态,开关的接通与断开,这两种状态正好可以用“1”和“0”表示。

(2)简化运算规则:两个二进制数和、积运算组合各有三种,运算规则简单,有利于简化计算机内部结构,提高运算速度。

(3)适合逻辑运算:逻辑代数是逻辑运算的理论依据,二进制只有两个数码,正好与逻辑代数中的“真”和“假”相吻合。

(4)易于进行转换,二进制与十进制数易于互相转换。

(5)用二进制表示数据具有抗干扰能力强,可靠性高等优点。因为每位数据只有高低两个状态,当受到一定程度的干扰时,仍能可靠地分辨出它是高还是低。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-12-14
因为计算机中存储整数用的是补码,正数的补码就是原码,而负数的补码=原码符号位不变,其他位按位取反后+1。所以补码1 0010110对应的原码是1 1101010,即-1101010。追问

那么补码和绝对值的关系是什么?(我都不知道我这个提问对不对,纯粹的小白)

本回答被提问者和网友采纳
第2个回答  2022-07-29

从你的问题来看,1001 0110,并不是二进制“数”。

你这个 1001 0110,应该是“一个数”的补码。

如果你想要求它的绝对值,你应该先求出“这个数”。

--------------------

已知补码是: 1001 0110。

其首位 1,既代表负号,也代表数值-128。

再加上其他数值位,就是真值:

 -128 + 16 + 4 + 2 = -106

绝对值,就是:106

--------------------

如果,补码是:0001 0110,

各位之和,就是真值:

  16 + 4 + 2 = +22

绝对值,就是:22。

相似回答