gpt4 book ai didi

floating-point - 任何人都可以澄清结果值是如何得出的吗?

转载 作者:行者123 更新时间:2023-12-01 09:21:25 25 4
gpt4 key购买 nike

PL/I 中的代码片段如下:

DECLARE WAVE_LTH FLOAT BINARY(21);

...

WAVE_LTH = 11001E-10B (**resultant value = 0.0244140**)

任何人都可以澄清结果值是如何得出的吗?

最佳答案

有问题的程序语句可能来自运行在 IBM System/360 硬件上的 PL/I 程序。这使用了十六进制浮点表示,有关详细信息,请参阅此 Wikipedia article .

根据我关于 PL/I 的旧文献,FLOAT BINARY(21)指定此平台上的单精度浮点数。 21指定尾数位的有效数量。因为这对应于 FLOAT BINARY 的默认值操作数,它可以被忽略。由于 base-16 表示,24 位尾数的最高三位可能为零;这留下了保证的 21 位精度。
B后缀告诉我们浮点字面量使用 base-2 表示。 11001二进制是 25 十进制。指数本身以十进制给出,所以 E-10表示比例因子为 2-10。因此,此浮点文字常量的值是 25/1024 或 0.0244140。

关于floating-point - 任何人都可以澄清结果值是如何得出的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32345912/

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