二进制运算为什么要用补码进行运算?
2个回答
展开全部
计算机采用补码数进行运算的原因:在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。
在计算机系统中,数据,一律采用补码来表示和存储。原因在于,使用补码,可以将加法和减法统一处理。补码,就是补码,与原码反码毫无关系。从原码反码开始学习,就不能理解“为何要用补码?”。
就是为了:简化硬件,省钱。因为,负数,是可以用一个正数(补码)代替的。如:24-1=2324+99=(一百)23忽略进位,用+99就可以代替-1。+99,就是-1的补数。计算机用二进制,就称为:补码。
展开全部
所谓的补码,只不过是个【障眼法】而已。
也不仅是二进制用补码运算,任何进制,都有“补码”的。
你看十进制,两位数是:0 ~ 99。
可以有:27 + 99 = (一百) 26
也可以:27 - 1 = 26
如果你忽略进位,依然保持两位数,那么:
--正数,就能当负数来用;
--加法,也就能完成减法运算。
如果在计算机舍弃进位,会怎样?
--计算机中,就全是正数了。
--负数没有了,减法运算也没有了。
--减法器,也没有了用武之地。
--计算机只需配置一个加法器,便可横行天下!
【舍弃进位】,就是补码的来源和存在意义。
----------------------
两位十进制时,舍弃进位,就是减去一百。
那么,加上 99,再减去 100,必然就是“-1 ”!
八位二进制数是:0000 0000 ~ 1111 1111。
也就是十进制数:0 ~ 255。
其进位,就是:2^8 = 256。
那么,加上 255 (1111 1111),再减 256,不也是-1 吗?
同理:254 (1111 1110),就能代替-2。
。。。
这些正数,就是计算机专家“发明”的补码。
所谓的补码,不过就是小学的知识点。
计算机专家,却弄不明白这个。
于是,就编造了一批垃圾:
--机器数真值原码反码取反加一符号位不变、符号位也参加运算...
谁要是跟老外学算术,立刻、马上,直接就掉到沟里去了!
也不仅是二进制用补码运算,任何进制,都有“补码”的。
你看十进制,两位数是:0 ~ 99。
可以有:27 + 99 = (一百) 26
也可以:27 - 1 = 26
如果你忽略进位,依然保持两位数,那么:
--正数,就能当负数来用;
--加法,也就能完成减法运算。
如果在计算机舍弃进位,会怎样?
--计算机中,就全是正数了。
--负数没有了,减法运算也没有了。
--减法器,也没有了用武之地。
--计算机只需配置一个加法器,便可横行天下!
【舍弃进位】,就是补码的来源和存在意义。
----------------------
两位十进制时,舍弃进位,就是减去一百。
那么,加上 99,再减去 100,必然就是“-1 ”!
八位二进制数是:0000 0000 ~ 1111 1111。
也就是十进制数:0 ~ 255。
其进位,就是:2^8 = 256。
那么,加上 255 (1111 1111),再减 256,不也是-1 吗?
同理:254 (1111 1110),就能代替-2。
。。。
这些正数,就是计算机专家“发明”的补码。
所谓的补码,不过就是小学的知识点。
计算机专家,却弄不明白这个。
于是,就编造了一批垃圾:
--机器数真值原码反码取反加一符号位不变、符号位也参加运算...
谁要是跟老外学算术,立刻、马上,直接就掉到沟里去了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询