已知一补码为10000101,则其真值用二进制表示为

来源:百度知道 编辑:UC知道 时间:2024/06/17 23:09:36
请给出详细解题步骤.谢谢.

1 0000 0000
_ 1000 0101
--------------
0111 1011

求补最简单的办法就是用 1 0000 0000去减那个数
0111 1011

一、10000101是无符号数时,真值为128+4+1 = 133.
二、10000101是有符号数时,
10000101最高位是符号位,1时是负数。
10000101 当无符号数处理时 128+4+1 = 133.
负数:原码(真值) = 133 - 256 = -123

简单分析如下:
1.数值在内存中以补码的形式存放的,运算的时候也是以补码来运算的。
(1).正数:原码 = 补码 。
(2).负数:补码 = 256 - |负数的绝对值|。
原码 = 补码(就当无符号数处理) - 256.
(3).原码就是真值。

2.有符号数在内存中以补码表示时,最高位是符号位,0为正,1为负。

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
如果感兴趣,补码的详细理论知识请参看笔者下面的总结.

1.任何数值是以补码存放在内存中的.

2.正数的补码和其原码相同. 补码 = 原码。

3.负数的补码的两种求法:(假设8bit,即8位)

(1).是将该数的绝对值的二进制形式,按位取反,再加1.
例. 求-10的补码.
第一步是取-10的绝对值10;
第二步取10的二进制形式为00001010;
第三步对00001010取反得11110101;
第四步再加1得11110110.
所以-10在内存中就以11110110形式存放。

(2).256-欲求的负数的绝对值 = 此负数的补码。注意:256 - 的是这个负数的绝对值,而不是这个数

。也就是说 256 -|负数|=补码. 求