永发信息网

计算机为什么要用补码

答案:2  悬赏:80  手机版
解决时间 2021-04-25 09:12
计算机为什么要用补码
最佳答案
最主要的原因是,加减运算电路复杂度问题,其实采用原码也可以做,但电路太复杂了,采用补码运算就变得很容易了。

    加法计算:


    1.正数与正数


    正数的补码等于本身,首先[x]补+[y]补=[x+y]补,在对结果求补,即[[x+y]补]补=x+y。


    2.负数与正数


    负数先求补,在按位做逻辑运算,若最高位相加有进位,则舍弃,最后把结果在求补,即得到正确解。


    减法运算:


    减法运算,任然由加法电路做,x-y=x+(-y),一个道理。

全部回答
数值在计算机中表示形式为机器数,计算机只能识别0和1,使用的是二进制,而在日常生活中人们使用的是十进制,"正如亚里士多德早就指出的那样,今天十进制的广泛采用,只不过我们绝大多数人生来具有10个手指头这个解剖学事实的结果.尽管在历史上手指计数(5,10进制)的实践要比二或三进制计数出现的晚."(摘自<<数学发展史>>有空大家可以看看哦~,很有意思的).为了能方便的与二进制转换,就使用了十六进制(2 4)和八进制(23).下面进入正题. 数值有正负之分,计算机就用一个数的最高位存放符号(0为正,1为负).这就是机器数的原码了.假设机器能处理的位数为8.即字长为1byte,原码能表示数值的范围为 (-127~-0 +0~127)共256个. 有了数值的表示方法就可以对数进行算术运算.但是很快就发现用带符号位的原码进行乘除运算时结果正确,而在加减运算的时候就出现了问题,如下: 假设字长为8bits ( 1 ) 10- ( 1 )10 = ( 1 )10 + ( -1 )10 = ( 0 )10 (00000001)原 + (10000001)原 = (10000010)原 = ( -2 ) 显然不正确. 因为在两个整数的加法运算中是没有问题的,于是就发现问题出现在带符号位的负数身上,对除符号位外的其余各位逐位取反就产生了反码.反码的取值空间和原码相同且一一对应. 下面是反码的减法运算: ( 1 )10 - ( 1 ) 10= ( 1 ) 10+ ( -1 ) 10= ( 0 )10 (00000001) 反+ (
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
女孩心思为什么比男生复杂很多?
“君子立长志,小人常立志”是否已过时?
吞不下西药,怎么办?
地下城与勇士怎么获的宠物???
原始凭证金额有错该如何处理
任务相思成灾风姿花绝在哪领??
街头篮球米卡玩SF有人玩过吗
校友打不开了
急求:车间生产计划
名人衣服够潮人
骑摩托车可以上高速不?
QQ书签的叫法
九亭去金山做什么车?
我想在新建的三层超市租一个店面卖童装可以吗
明基显示器江西总代理是哪家?
推荐资讯
怎么用哑铃锻炼胸肌最快
怎么把FLAC转化成MP3格式?
一份三千多一个月的工资你愿意干一辈子吗
头发发质不好 软软的贴在头上该怎么办?让头
字谜帮我解决
谁有在淘宝买衣服的经验 来分享一下,上淘宝
他比我小我要放弃吗?
笔记本电脑经常性的长时间待机好吗?
我在网上好像收骗了怎么办
陵里社区老年文化活动室怎么去啊,有知道地址
魔兽世界点卡充了以后在战网上显示了游戏时间
我喜欢她很久了。。但是不没有勇气表白。。很
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?