浮点数 考点
跳到导航
跳到搜索
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