单项选择(2016年春程序员软考)

设机器字长为8,则-0的【 】表示为11111111。

A、反码

B、补码

C、原码

D、移码

答案解析

A

【解析】

数值X的原码记为[X]原,如果机器字长为n(即采用n个二进制位表示数据),则最高位是符号位,0表示正号,1表示负号,其余的n-1位表示数值的绝对值。n=8时,

数[+0]=00000000,[-0]=10000000。

正数的反码与原码相同,负数的反码则是其绝对值按位求反。n=8时,[+0]=00000000,[-0]反=11111111。

正数的补码与其原码和反码相同,负数的补码则等于其反码在末尾加1。在补码表示中0有唯一的编码:[+0]=00000000,[-0]=00000000。

讨论

(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 的值【 】。[注:此题有问题,求证中]

若short型变量x=-8190,则x的机器数为【 】。

若机器字长为8位,则可表示出十进制整数-128的编码是【 】。