假设某计算机的字长为8位,则十进制数(-66)10的反码表示为__________.
66=01000010B
-66=11000010B
-66的反码为10111101B
负数的反码符号位不变
根据定义,可以得到机器数的反码的整数和小数中“0”的表示形式各有2种,“+0”和“-0”不一样,以8位机器数为例,整数的“+0”原码为0,0000000,反码为0,0000000。
整数的“-0”原码为1,0000000,反码为1,1111111;小数的“+0”原码为0.0000000,反码为0.0000000;小数的“-0”原码为1.0000000,小数的“-0”反码为1.1111111。反码跟原码是正数时,一样;负数时,反码就是原码符号位除外,其他位按位取反。
扩展资料:
计算机中如何判断一个数是否为“机器零”有两条件,分别为当浮点数尾数为0时,不论其阶码为何值按机器零处理。
另外,当浮点数阶码等于或小于它所表示的最小数时,不论尾数为何值,按机器零处理。阶码都是整数,为了机器好判断设置了移码。移码的定义如图9。
例:已知某数X的原码为10110100B,试求X的补码和反码。
解:由[X]原=10110100B知,X为负数。求其反码时,符号位不变,数值部分按位求反;求其补码时,再在其反码的末位加1。
1 0 1 1 0 1 0 0 原码
11001011反码,符号位不变,数值位取反,即其补码为11001011+1=11001100
1 1 0 0 1 1 0 0 补码
故:[X]补=11001100B,[X]反=11001101B。