3.已知8位机器码10110100,它是补码时,表示的十进制真值是_____________.
A.-76 B.76 C.-70 D.-74
答案是A 为什么 展开
-76。
最前面那位是符号位,代表符号,后七位是数字位,补码求原码,正数不变,负数除符号位其它取反再加1,所以求得原码后,在将除符号位后七位二进制转换为十进制。
首先第一步求1011 0100的十进制数为180然后256-180=76。-76的补码就属是180的原码。
扩展资料:
原码是有符号数的最简单的编码方式,便于输入输出,但作为代码加减运算时较为复杂。一个字长为n的机器数能表示不同的数字的个数是和咐固定的2^n个,n=8时2^n=256。
用来表示有符号数,数裂棚穗的范围就是 -2^(n-1)-1 ~ 2^(n-1)-1,n=8时,这个范围就是 -127到+127。
但是在不需要肆卜考虑数的正负时,就不需要用一位来表示符号位,n位机器数全部用来表示是数值,这时表示数的范围就是0~2^n-1,n=8时这个范围就是0~255.没有符号位的数,称为无符号数。
知道补码,求真值,是非常简单的中宽模。
既不用你求“反码原码”,也不要你想着“符号位不变”。
“取反加一”或“减一取反”,都是不需要的。
你就直接进行【数 制 转 换】即可。
比卖缓如:
八位的补码:1011 0100。
首位 1,既代表负数,也代表-128。
其余是数值位:32 + 16 + 4 = 52。
求和,立即就得出真值:-128 + 52 =-76。
----------
补码若是:0011 0100。
其真值巧哗就是:32 + 16 + 4 = +52。
简单不简单?意外不意外?
有人说:原码是最简单的编码方式。显然是错的!