以十进制和二进制写入的 32 位浮点数中可表示的最小奇数是多少?

What is the minimum odd number representable in a 32-bit float, written in both decimal and binary?

提问人:Saiko 提问时间:5/25/2023 最后编辑:Saiko 更新时间:5/26/2023 访问量:68

问:

可以用浮点数准确表示的最小奇数是多少?假设浮点数用 32 位表示,其中:1 位用于符号,8 位用于指数,23 位用于分数。答案必须以小数基数和浮点数的位书写。

我不确定他们是否要求最小的“最接近零”,因此答案可能是 1,或者他们的意思是最小的“最接近负无穷大”?

浮点 二进制 数值 日期算术 整数算

评论

1赞 Lover of Structure 5/25/2023
我很确定,无论谁提出这个问题,都是在问后者。(在数学中,“最小”总是这个意思;否则人们会说“绝对值最小”。

答:

2赞 Renat 5/25/2023 #1

来自 IEEE 754 标准:binary32:

  • 符号位:1 位
  • ...
  • 有效精度:24 位(23 位显式存储)

达到此值的整数(最多可用 24 位整数表示)正好存储在浮点数 32 中。因此,最小精确奇数为:

- 0b 1111 1111 1111 1111 1111 1111

或十进制- 16 777 215