单项选择(2014年秋程序员软考)

如果浮点数的尾数用补码表示,则【 】是规格化的数。

A、1.01000

B、1.11110

C、0.01001

D、1.11001

答案解析

A

【解析】

一个含小数点的二进制数N可以表示为更一般的形式

N=2E×F

其中E称为阶码,F为尾数,这种表示数的方法称为浮点表示法。

在浮点表示法中,阶码通常为带符号的纯整数,尾数为带符号的纯小数。浮点数的表示格式如下:

阶符  阶码  数符  尾数

很明显,一个数的浮点表示不是唯一的。当小数点的位置改变时,阶码也相应改变,因此可以用多种浮点形式表示同一个数。

为了提高数据的表示精度,当尾数的值不为0时,规定尾数域的最高有效位应为1,这称为浮点数的规格化表示。否则修改阶码同时左移或右移小数点的位置,使其变为规格化数的形式。规格化就是将尾数的绝对值限定在区间[0.5,1)。

尾数用补码表示时,[+0.5,1)之间的数表示形式为0.1***,而(-1.0,-0.5)之间的数则表示为1.0***。由于[-0.5]=1.1000000,[-1.0]=1.0000000,因此将(-1.0,-0.5]扩展为[-1.0,-0.5),从而便于通过判断符号位和小数点后的最高位是否相异来判断尾数是否为规格化形式。

讨论

(1)写出十进制数-11.4的规格化浮点数形式表示,具体要求是:阶码用4位二进制移码,尾数用12位原码(含数的符号);(2)写出上述格式定义的规格化浮点数所能表示的绝对值的最大和最小的正数和绝对值最大和最小的负数的值;(3)说明上述格式定义的浮点数的机器零;(4)说明浮点数中隐藏位的含义与用法。

某计算机字长32位,浮点表示时,阶码占8位,尾数占24位,各包含一位符号位,问:(1)带符号定点小数的最大表示范围是多少?(2)带符号定点整数的最大表示范围是多少?(3)浮点表示时,最大的正数是多少?(4)浮点表示时,最大的负数是多少?(5)浮点表示时,最小的规格化正数是多少?

将8421BCD码(001100000001)BCD转换为十六进制的结果是什么?

一个16位的浮点数,,阶码用4位数表示,尾数用12位(各包含一位符号位)表示 ,该浮点数基数为2,其阶码用补码表示,尾数用原码表示,求该浮点数表示范围。

假定编译器规定int和short类型长度分别为32位和16位,执行下列C语言语句:unsigned short x=65530;unsigned int y=x;得到y的机器数为【 】。

float型数据通常采用IEEE754单精度浮点数格式表示。若编译器将float型变量x分配在一个32位浮点寄存器FR1中,且x=-8.25,则FR1的内容是【 】。

计算机中常用原码、反码、补码和移码表示 数据,其中表示0时仅用一个编码的是【 】

已知 float 型变量用 IEEE754 单精度浮点数格式表示。若 float 型变量 x 的机器数为8020 000H,则 x 的值【 】。[注:此题有问题,求证中]

在浮点表示格式中,数的精度是由【 】的位数决定的。

已知某字符的 ASCII 码值用十进制表示为 69,若用二进制形式表示并将最高位设置为偶校验位,则为【 】。