如果我想将二进制数转换为 32 位二进制补码。在 javascript 中执行此操作的正确方法是什么
e.g. "10101010001000101110101000101110" -> -1440552402
反过来呢?
e.g. -1440552402 -> "10101010001000101110101000101110"
最佳答案
以 2 为底的
parseInt
几乎足够了,只是它不将第 32 位视为符号位。
但这行得通:parseInt(someString, 2) | 0
回到字符串,toString(2)
再次几乎可以工作,但以我们不希望的方式处理符号,但这有效:(x >>> 0 ).toString(2)
,>>>0
使其成为无符号整数。
关于javascript - 如何在javascript中执行二进制补码和按位运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31998628/