问题 单项选择题

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

A.00007FFEH

B.0000FFFEH

C.FFFF7FFEH

D.FFFFFFFEH

答案

参考答案:B

解析:各种数据在计算机中表示的形式称为机器数,其特点是采用二进制计数制,数的符号用0、1表示,小数点则隐含表示而不占位置。机器数对应的实际数值称为数的真值。 二进制表示中,用最高位作为符号位,“0”代表“+”,“1”代表“-”,其余数位用作数值位,代表数值。有符号数的编码方式,常用的是补码。而无符号数的表数范围是非负数,全部二进制均代表数值,没有符号位。即第一个“0”或“1”不表示正负。 C语言支持所有整型数据类型的有符号数和无符号数运算。16位的无符号整数a等于65534,十六进制表示为FFFEH,32位的无符号整数b等于a,即65534,十六进制表示为0000FFFEH。

选择题
问答题