gpt4 book ai didi

fortran - inf 和 NaN 的内部表示是什么?

转载 作者:行者123 更新时间:2023-12-04 02:40:23 25 4
gpt4 key购买 nike

我和一个 friend 正在讨论如何在今天午餐时存储 Inf 和 NaN。

以 Fortran 90 为例。 4 字节实数可以获得 Inf 或 NaN 的值。这是如何在内部存储的?据推测,一个 4 字节的实数是一个由 32 位二进制数在内部表示的数字。 Inf 和 NaN 是否存储为 33 位二进制数?

最佳答案

特别来自 Pesto 的 link :

IEEE 单精度浮点标准表示需要一个 32 位字,可以表示为从 0 到 31,从左到右编号。第一位是符号位,S ,接下来的八位是指数位,' E ',最后 23 位是分数 ' F ':

SEEEEEEEE FFFFFFFFFFFFFFFFFFFFFFF
0 1 8 9 31

V由词表示的可以确定如下:

  • E=255F非零,则 V=NaN (“不是数字”)
  • E=255F为零且 S1 ,然后 V=-Infinity
  • E=255F为零且 S0 ,然后 V=Infinity
  • 0<E<255然后 V=(-1)**S * 2 ** (E-127) * (1.F)其中“1.F ”旨在表示通过使用隐式前导 1 和二进制前缀 F 创建的二进制数
    观点。
  • E=0F非零,则 V=(-1)**S * 2 ** (-126) * (0.F)这些
    是“非标准化”值。
  • E=0F为零且 S1 ,然后 V=-0
  • E=0F为零且 S0 ,然后 V=0
  • 关于fortran - inf 和 NaN 的内部表示是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/640109/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com