1.2 计算机中的数据
【例1.4】 在下列整数中,()是原码的0,()是补码的0,()是反码的0。
A. 000…0
B. 100…0
C. 111…1
D. 0111…1
分析:0是原码、补码和反码的特殊值。
[ +0 ]原=000…0
[-0 ]原=100…0
[ +0 ]补=[-0 ]补=000…0
[ +0 ]反=000…0
[-0 ]反=111…1
答:(A、B)是原码的0,(A)是补码的0,(A、C)是反码的0。
【例1.5】 十进制数-38的8位二进制补码是(B)。
A. 01011011
B. 11011010
C. 11011011
D. 01011010
分析:十进制数38 转换为二进制数是00100110B,[-38]原=10100110。补码表示法规定,负数的补码的符号位为1,数值位取真值的反码加1。
答:B。
【例1.6】 用8位二进制的补码形式表示带符号数的范围是()。
A. -128~ +128
B. -127~ +127
C. -127~ +128
D. -128~ +127
分析:用补码表示数的范围是:-2 n-1~2 n-1 -1,n 为二进制位数,即-2 8-1~2 8-1-1=-128~+127。
答:D。
【例1.7】 一个8 位二进制整数,由4 个“1”和4 个“0”组成,若用补码表示,则最小值是______。
分析:补码表示法是正数的符号位为0,负数的符号位为1,数值位取真值的相反码加1。用补码表示的最小值,符号位必定为1,其余的3个“1”放置在数值位的末端,变反加1后,绝对值最大,而8位二进制整数最小,则[X]补=10000111B
用补码表示的二进制数还原为真值,将数值位变反加1,即X=-1111001B=-121。
答:-121。
【例1.8】 写出X=-5.8125的浮点数格式(阶码取4位移码,尾数取8位原码)。
分析:十进制数-5.8125用二进制数表示:X=-101.1101B。
用浮点数表示:X=-101.1101=-1.011101×2 2
X的阶码是E=+2,用4位补码表示:E=0010B,4位移码的偏移量是0111B,X的阶码用移码表示:E= 0111B + 0010B=1001B。
X的尾数是负值,则S f =1;尾数的原码S=1011101。
答:X的浮点数格式如下:
练习2
1. 一个整数的二进制补码和原码相同,则该数一定是()。
A. 大于0
B. 小于0
C. 等于0
D. 大于或等于0
2. 16位二进制数的有效范围是()。
A. -32768~+32767
B. -32768~+32767或0~65535
C. 0~65535
D. -32767~+32767或0~65535
3. 带符号位的二进制数1111111111110000,其十进制数的数值是()。
A. 16
B. -16
C. -32752
D. -32751
4. 所谓“变号操作”是指将一个有符号整数变成绝对值相同、但符号相反的另一个数。用补码表示的8位二进制数X=10010101,X经变号操作后的结果是()。
A. 01101010 B. 00010101
C. 11101010
D. 01101011
5. 十进制数-112的二进制码10001111,机器数的表示法是()。
A. 原码
B. 反码
C. 补码
D. 移码
6. 用补码表示的二进制数1000000000000001,将该数转换为十进制数是()。
A. -1
B. -32768
C. -32767
D. +1
7. 在下列机器数中,最大的X值是()。
A. [X]补=01000001B
B. [X]补=10110101B
C. [X]补=01111000B
D. [X]补=10011100B
8. 在下列机器数中,按真值由小到大排列是()。
①[X]原=10001100
②[X]反=11101000
③[X]补=10000000
④X=-0110100
A. ③→④→②→①
B. ④→③→②→①
C. ①→②→④→③
D. ①→②→③→④
9. 在整数定点机中,若机器采用补码、双符号位,它的十六进制数为0C0H,该数的真值是()。
A. -1
B. +1
C. -32
D. -64
10. 已知[X + Y]补=4365H,[X-Y]补=2143H,则[2X]补=()。
A.1111H
B. 2222H
C. 64A8H
D. 3243H
11. 已知[X]补=0A2H,[Y]补=1FH,则X-Y=()。
A.11111101 B. -0000011
C. -1111101
D. 11000011
12. 在下列关于浮点数的描述中,()是正确的。
A. 一个实数的浮点数表示有多种方法
B. 浮点数的格式可由用户自定义
C. 纯小数不能用浮点数表示
D. 任意一个实数,在计算机中都可以用浮点数来精确表示