我试图在任何其他语言中执行一些简单易懂的东西,但不是javascript:从浮动中获取位数(反之亦然).
在C/C++中它会是这样的
float a = 3.1415; int b = *((int*)&a);
反之亦然
int a = 1000; float b = *((float*)&a);
在C#中,您可以使用BitConverter ... floatBits或类似的东西......即使在VB6中为了基督的缘故,您也可以将float32存入int32.我怎么能在javascript中转换和int和浮点数?
小智 20
function DoubleToIEEE(f)
{
var buf = new ArrayBuffer(8);
(new Float64Array(buf))[0] = f;
return [ (new Uint32Array(buf))[0] ,(new Uint32Array(buf))[1] ];
}
Run Code Online (Sandbox Code Playgroud)
bob*_*nce 11
你当然不会像JavaScript那样得到任何低级别的东西.允许重新编写和指针擦除语言必须对不受信任的潜在攻击者网站使用安全是非常危险的.
如果你想在一个数字中获得一个32位IEEE754表示单精度值的表示(记住它也不是一个int;你在JavaScript中得到的唯一数字类型是double),你必须通过摆弄它来自己制作它.符号,指数和尾数位在一起.有示例代码在这里.
| 归档时间: |
|
| 查看次数: |
7288 次 |
| 最近记录: |