浮点数 考点

来自姬鸿昌的知识库
跳到导航 跳到搜索

https://www.bilibili.com/video/BV1hg411V7Bm?p=10


以下关于浮点数表示的叙述中,正确的是()。

A、浮点数的精度取决于尾数M的位数,范围取决于阶码E的位数 √

B、浮点数的精度取决于阶码E的位数,范围取决于尾数M的位数

C、浮点数的精度和范围都取决于尾数M的位数,与阶码E的位数无关

D、浮点数的精度和范围都取决于阶码E的位数,与尾数M的位数无关


32位浮点数,若阶码采用补码表示,为8位(含1位阶符),尾数采用原码表示,为24位,(含1位数符),不考虑规格化,阶码的最大值为()。

A、255

B、256

C、127 √

D、128

解:

8位阶码(含1位阶符)二进制最大值是:

阶符(0正、1负)
0 1 1 1 1 1 1 1

28-1=128-1=127


对于浮点数x=m*2i和y=w*2j已知i>j,那么进行x+y运算时,首先应该对阶,即(),使其阶码相同。

A、将尾数m左移(i-j)位

B、将尾数m右移(i-j)位

C、将尾数w左移(i-j)位

D、将尾数w右移(i-j)位 √

提示:对阶是小阶码的数向大阶码的数看齐,小数点左移,尾数右移


已知 X=-79/128,若采用8位定点机器码,则[X]补=()。

A、1.1001111

B、0.1001111

C、1.0110001 √

D、0.1110001

解:

79=64+8+4+2+1

128 64 32 16 8 4 2 1
27 26 25 24 23 22 21 20
79 1 0 0 1 1 1 1
128 1 0 0 0 0 0 0 0

128=27

-79/128

=-79/27

=-79*2-7

79*2-7=100 1111*2-7=0.100 1111*20,因为小数点前面默认是符号位,0正1负,所以是1.100 1111,

又因为求的是[x]补,所以还要求补码:

符号位(0正1负) 2-1 2-2 2-3 2-4 2-5 2-6 2-7
原码 1 1 0 0 1 1 1 1
反码(符号位不变,其余位按位取反) 1 0 1 1 0 0 0 0
补码(反码基础上+1) 1 0 1 1 0 0 0 1

所以答案是1.011 0001