gpt4 book ai didi

javascript - gpus.js (webgl?) float32 问题

转载 作者:行者123 更新时间:2023-11-29 16:40:54 25 4
gpt4 key购买 nike

我可能遗漏了一些明显的东西,但我正在试验 gpu.js并得到一些奇怪的结果。我只是想确保我没有做一些明显愚蠢的事情(这很可能)。

不确定这是否是我正在做的事情的问题,或者是使用 WebGL 通过 gpu.js 完成计算时执行计算的方式。

我创建了一个新的 GPU 和新的内核:

const gpu = new GPU();
const test = gpu.createKernel(function () {
return 255 +
(255 * 256) +
(255 * 256 * 256) +
(255 * 256 * 256 * 256);
}).setOutput([1]);

const res = test();

结果为 4294967296(包含在 float32 数组中)。

如果我从控制台运行相同的计算,我得到的结果是 4294967295。

最佳答案

IEEE 754单精度(32 位)浮点值由 24 位有效位和 8 位指数位组成。

4294967295 是 0xffffffff(整数),不能完全准确地存储在 32 位 float 中,因为它只有 24 个有效位。
4294967296 是 0x100000000(整数),可以存储在 32 位 float 中,因为它是 0x4f800000( float )。

相比之下,IEEE 754 double (64 位)浮点值由 53 位有效位和 11 位指数位组成。
因此,一个 64 位浮点值,可以准确存储值 4294967295 (0x41efffffffe00000)。

关于javascript - gpus.js (webgl?) float32 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46038047/

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