1IEEE754标准提供了以下4种舍入模式,其中平均误差最小的是
链接:https://www.nowcoder.com/questionTerminal/98b6bdc485b6436db235ff679d3906ca?orderByHotValue=1&page=1&onlyReference=false
来源:牛客网
2.一个 C 语言程序在一台 32 位机器上运行。程序中定义了三个变量 x 、 y 和 z ,其中 x 和 z 为 int 型, y 为 short 型。当 x=127 , y= - 9 时,执行赋值语句 z=x+y 后, x 、 y 和 z 的值分别是() 。
-
Cx=0000007FH,y=FFF7H,z=FFFF0076H D x=0000007FH,y=FFF7H,z=00000076H C 语言中的整型数据为补码形式, int 为 32 位, short 为 16 位,故 x 、 y 转换成十六进制为 0000007FH 、 FFF7H 。执行 z=x+y 时,由于 x 是 int 型, y 为 short 型,需将短字长数据转换成长字长数据,称之为“符号扩展”。由于 y 的符号位为 1 ,故在 y 的前面添加 16 个 1 ,即可将 y 上升为 int 型,其十六进制形式为 FFFFFFF7H 。最后执行加法,即 0000007FH +FFFFFFF7H=00000076H ,其中最高位的进位 1 自然丢弃。故选 D 。
-
【排除法】 对于 x 的值, 4 个选项都一样,无需计算; z=x+y=127 - 9=118>0 ,前 4 个字节必然全 0 ,排除 BC ;只需算出 y= - 9 的值即可,其十六进制形式为 FFF7H ,排除 A 。
【提示】解题时,应先排除明显错误的选项,然后再推敲剩下的选项。
-
3.已知[x]补,求X。
2.(1)[x]补=11100001 ,则x=( )
(2)[x]补=01111111,则x=( )
(3)[x]补=10000000,则x=( )
-
符号位不变,末尾第一个1后不变,前面取反。