NOIP 提高组初赛 · NOIP 2013 提高组初赛试题 第 13 题

选择题 · 答案 D · 考点:基本数据类型

← 整套速查表 NOIP 提高组初赛 全部真题

题目

把 $64$ 位非零浮点数强制转换成 $32$ 位浮点数后,不可能( )。

答案:D

考点

基本数据类型

解题思维

这题核心就盯着IEEE 754浮点数的二进制结构看。64位转32位,本质是精度丢失导致的舍入,但别忘了最左边那个符号位——它只管正负,跟数值大小完全没关系。只要抓住'符号位独立且不变'这一条,D选项直接就能排除。

常见错误

很多考生容易纠结'会不会等于原数',觉得64位转32位精度变差了,肯定不等于。其实像0、1、2这些特殊值,在32位里照样能精确表示,等于原数是完全可能的。真正不会发生的是符号变反,因为强制类型转换只截断尾数或调整指数,绝不会去翻转最左边的符号位。

详细解析(节选)

考察知识点

本题考查的是IEEE 754浮点数的二进制表示规则,以及不同精度浮点数类型之间的转换特性。

概念定义

IEEE 754标准规定,浮点数在内存中由三部分组成:1位符号位(S)、若干位指数位(E)和若干位尾数位(M)。对于32位单精度浮点数,结构是1+8+23;对于64位双精度浮点数,结构是1+11+52。关键点在于:符号位独立存在,它只决定整个数是正还是负,与后面的指数和尾数没有任何运算关系。

同考点真题

在 OI伴学 里做这道题
登录后可计时作答、查看完整六段式解析,并按你的错题自动生成同类练习。
去刷题先做一次 AI 学情诊断