补码运算,答案满意再追100,3天内有效

来源:百度知道 编辑:UC知道 时间:2024/06/30 13:24:30
X = 76, 则 [X]补 = ?
[X]补 = 80H, 则 X = ?
[X]补 = 98H,则 [X]补/2 = ?
X = 78, Y = -83, 则 [X+Y]补 = ?
我教朋友计算机呢,遇到这几个题,都是N年前学的,都忘光了,最好有个解题步骤,谢谢了!最好能附上补码原码转换的一些知识点,比如负数怎么处理。

对正数而言: [X]原 = [X]反 = [X]补
对负数而言: [X]反 = [X]原 符号位不变,尾数按位变反。
[X]补 = [X]反 末位加“1”,
或[X]补 = [X]原 符号位不变,尾数按位变反后再加“1”。
[X]原 = [X]反 符号位不变,尾数按位变反。
[X]原 = [[X]补]补 即补码的补码,也就是说对负数的补码再求补得到原码。

X = 76 (都用一个字节表示)
则 [X]补 = [X]原 = 01001100B

[X]补 = 80H
这是补码的一个特殊情况-128,八位原码和反码都是表示不了这个数的。
[X]补 = (10000000)B 按位取反加1后有溢出,但计算机中该补码认定为-128,因此 X = -(10000000)B = -128

[X]补 = 98H
[X]补 = (10011000)B
如果计算机内做除以2的操作,因为计算机本身是将整个码当二进制数对待的,并不区分是什么码(也就是说计算机只认二进制数),所以 [X]补/2 是将[X]补 每位都算术右移一位(包括符号位)。 [X]补/2 = (01001100)B = 4CH。
如果是单求补码值的一半(除2),则可理解为符号位保持不变的算术右移一位,[X]补/2 = (11001100)B = CCH。

X = 78, Y = -83
[X]补 = (01001110)B
[Y]补 = (10101101)B
[X+Y]补 = [X]补 + [Y]补 = (01001110)B + (10101101)B = (11111011)B = FBH

-,-应该是作业吧。人一定要靠自己

看5分钟的书就会做了

X = 76, 则 [X]补 =76
[X]补 = 80H, 则 X = 0
[X]补 = 98H,则 [X]补/2 =8CH
X = 78, Y = -83, 则 [X+Y]补 = -123

1.正数的补码与其原码