作业帮 > 数学 > 作业

我对计算机中的补码知识不太懂,

来源:学生作业帮 编辑:拍题作业网作业帮 分类:数学作业 时间:2024/04/27 18:36:27
我对计算机中的补码知识不太懂,
怎样求一个数的补码?
所有的负数的反码等于原码各位取反;补码等于反码加一.十六进制也是先化成2进制的在化补码.补码的用途是让机器学会减法运算的.应为所有的处理器是电路做的,电路其实只是加法器,只能做加法.如何能让电脑做减法呢,就用补码啊.减去一个数就等于加上她的补码.于是减法就转换为机器能执行的加法了,于是电脑就能算减法了啊
数值的补码表示也分两种情况:
(1)正数的补码:与原码相同.
例如,+9的补码是00001001.
(2)负数的补码:符号位为1,其余位为该数绝对值的原码按位取反;然后整个数加1.
例如,-7的补码:因为是负数,则符号位为“1”,整个为10000111;其余7位为-7的绝对值+7的原码0000111按位取反为1111000;再加1,所以-7的补码是11111001.
已知一个数的补码,求原码的操作分两种情况:
(1)如果补码的符号位为“0”,表示是一个正数,所以补码就是该数的原码.
(2)如果补码的符号位为“1”,表示是一个负数,求原码的操作可以是:符号位为1,其余各位取反,然后再整个数加1.
例如,已知一个补码为11111001,则原码是10000111(-7):因为符号位为“1”,表示是一个负数,所以该位不变,仍为“1”;其余7位1111001取反后为0000110;再加1,所以是10000111.