【发布时间】:2021-02-17 13:18:29
【问题描述】:
据我了解,JavaScript 总是将二进制数字转换为 32 位,对吗? 例子
function dec2bin(a) {
var b=[]
b = a.toString(2)
return b
}
如果我打电话给dec2bin(10) 我会得到 1010 但应该是
00000000000000000000000000001010
我猜它只显示商品的相关位。但是如果我总是想要前 16 位或 8 位呢?
【问题讨论】:
-
不,所有 javascript 数字都是 64 位浮点数。
-
"据我了解,JavaScript 总是将二进制数字转换为 32 位,对吗?" 不,JS 中的数字类型是 64 位 IEEE 754 浮点数。使用按位运算符将强制将数字转换为 32 位整数以进行操作,但这基本上是唯一的例外。唯一的另一件事是 BigInt,它绝对不是 32 位的。
-
顺便说一句,
var b=[]相当没用,因为 1. 你会立即覆盖它 2. 你甚至没有对数组做任何事情。
标签: javascript binary bit