有什么办法可以在它的 64 位浮点 IEEE754 表示中看到一个数字

Is there any way to see a number in it's 64 bit float IEEE754 representation

Javascript 根据 spec:

将所有数字存储为双精度 64 位格式 IEEE 754 值

The Number type has exactly 18437736874454810627 (that is, 264−253+3) values, representing the double-precision 64-bit format IEEE 754 values as specified in the IEEE Standard for Binary Floating-Point Arithmetic

有没有办法在Javascript中看到这个表格中的数字?

您可以使用类型化数组来检查数字的原始字节。使用一个元素创建一个 Float64Array,然后使用相同的缓冲区创建一个 Uint8Array。然后,您可以将浮点数组的第一个元素设置为您的数字,并通过 Uint8Array 检查字节。当然,你必须对数字的各个部分进行一些移位和组合,但这并不难。

没有内置工具可以执行诸如提取指数之类的操作。

根据@Pointy 的建议,我实现了以下函数以获取 64 位浮点 IEEE754 表示中的数字:

function to64bitFloat(number) {
    var f = new Float64Array(1);
    f[0] = number;
    var view = new Uint8Array(f.buffer);
    var i, result = "";
    for (i = view.length - 1; i >= 0; i--) {
        var bits = view[i].toString(2);
        if (bits.length < 8) {
            bits = new Array(8 - bits.length).fill('0').join("") + bits;
        }
        result += bits;
    }
    return result;
}

console.log(to64bitFloat(12)); // 0100000000101000000000000000000000000000000000000000000000000000
console.log(to64bitFloat(-12)); // 1100000000101000000000000000000000000000000000000000000000000000

您可以使用 Basenumber.js 将数字转换为其 IEEE754 表示形式:

let x = Base(326.9);
let y = Base(-326.9);

// specify double precision (64)
let a = x.toIEEE754(64);
let b = y.toIEEE754(64);

console.log(a);
console.log(b);

// You can join them in an unique string this way
console.log(Object.values(a).join(""));
console.log(Object.values(b).join(""));
<script src='https://cdn.jsdelivr.net/gh/AlexSp3/Basenumber.js@main/BaseNumber.min.js'></script>