如何在 javascript 中执行二进制补码和按位运算
How to perform twos complement and bitwise operations in javascript
如果我想把一个二进制数转换成一个32位的二进制补码。 javascript
中正确的做法是什么
e.g. "10101010001000101110101000101110" -> -1440552402
反之亦然?
e.g. -1440552402 -> "10101010001000101110101000101110"
parseInt
以 2 为底几乎足够了,只是它不将第 32 位视为符号位。
但这行得通:parseInt(someString, 2) | 0
回到字符串,toString(2)
再次几乎可以工作,但是以我们在这里不希望的方式处理符号,但是这个工作:(x >>> 0).toString(2)
,>>>0
使得它是一个无符号整数。
如果我想把一个二进制数转换成一个32位的二进制补码。 javascript
中正确的做法是什么e.g. "10101010001000101110101000101110" -> -1440552402
反之亦然?
e.g. -1440552402 -> "10101010001000101110101000101110"
parseInt
以 2 为底几乎足够了,只是它不将第 32 位视为符号位。
但这行得通:parseInt(someString, 2) | 0
回到字符串,toString(2)
再次几乎可以工作,但是以我们在这里不希望的方式处理符号,但是这个工作:(x >>> 0).toString(2)
,>>>0
使得它是一个无符号整数。