假定编译器规定int和short类型长度分别为32位和16位,执行下列C语言语句:
unsigned short a=65534;
unsigned int b;
b=a;
得到b的机器数为(    )。(2013年嵌入式系统设计师下半年)
A.00007FFEHB.0000FFFEHC.FFFF7FFEHD.FFFFFFFEH


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

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接:https://scpro.cn/v/772502bcb79d11ee.html

最近发表

好文推荐