1让有理想的人更加卓越
【例1】(2009年全国计算机学科联考专业基础综合卷第12题,2分):一个C语言程序在一台32位机器上运行
程序中定义了三个变量x、y、z,其中x和z是int型,y为short型
当x=127,y=-9时,执行赋值语句z=x+y后,x、y、z的值分别是A.X=0000007FH,y=FFF9H,z=00000076HB.X=0000007FH,y=FFF9H,z=FFFF0076HC.X=0000007FH,y=FFF7H,z=FFFF0076HD.X=0000007FH,y=FFF7H,z=00000076H【解析】D
本题目涉及知识点如下:(1)十进制数转换为二进制数:十进制转二进制的方法为整数部分除2取余倒计数,小数部分乘2取整正计数
(2)转成32位补码[127]补=[1111111B]补=[+0000000000000000000000001111111B]补=00000000000000000000000001111111B=0007FH[-9]补=[-1001B]补=[-0000000000000000000000000001001B]补=11111111111111111111111111110111B=0FFF7H(3)求x+y的真值及补码127+(-9)=118[118]补=[1110110B]补=[+0000000000000000000000001110110B]补=00000000000000000000000001110110B=00076H或补码直接求和:0007FH+0FFF7H=00076H答案为D
【例2】(2009年全国计算机学科联考专业基础综合卷第13题,2分):浮点数加减运算过程一般包括对阶、尾数运算、规格化、舍入和判溢出等步骤
设浮点数的阶码和尾数均采用补码表示,且位数分别为5位和7位(均含2位符号位)