已知一补码为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 -|负数|=补码. 求