我对计算机中的补码知识不太懂,
来源:学生作业帮 编辑:百度作业网作业帮 分类:数学作业 时间:2024/07/11 21:23:29
我对计算机中的补码知识不太懂,
怎样求一个数的补码?
怎样求一个数的补码?
![我对计算机中的补码知识不太懂,](/uploads/image/z/3688863-15-3.jpg?t=%E6%88%91%E5%AF%B9%E8%AE%A1%E7%AE%97%E6%9C%BA%E4%B8%AD%E7%9A%84%E8%A1%A5%E7%A0%81%E7%9F%A5%E8%AF%86%E4%B8%8D%E5%A4%AA%E6%87%82%2C)
所有的负数的反码等于原码各位取反;补码等于反码加一.十六进制也是先化成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.
数值的补码表示也分两种情况:
(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.