我在 JavaScript 中有以下字符串:
“1011100111100110101110110”
。
我想对它执行一个操作,这将返回它的补码(也就是说,所有的 1 都被零替换,所有的 0 都被 1 替换)。
JavaScript 文档说 NOT 运算符会执行此操作,但在我的测试中,它没有给出我所期望的结果。
我想我的类型一开始就是错误的。
这是我的测试代码:
var nMyNumber = "1011100111100110101110110";
var sBinString = nMyNumber.toString(2);
console.log("Number: " + sBinString);
var reverse = ~sBinString;
console.log("Complement: " + reverse);
最佳答案
只进行字符串替换
var sBinString = nMyNumber
.replace(/1/g,'x')//convert '1' to temp char('x')
.replace(/0/g,'1')//convert '0' to '1'
.replace(/x/g,'0')//finally convert temp char to '0'
关于javascript - 将二进制字符串转换为其补码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45075552/