javascript - 将二进制字符串转换为其补码

标签 javascript

我在 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/

相关文章:

javascript - dygraphs 标签数量与数组中的列数不匹配

javascript - 没有任何插件Jquery的Ajax文件上传进度

javascript - 我的内联 SVG 和嵌入式 SVG 存在问题

javascript - Velocity.js 在动画完成后删除样式属性

javascript - 使用 turn.js 定期刷新书籍的动态页面

javascript - request.auth.session.set(user_info) 不工作 HapiJS

javascript - 使用 JavaScript 禁用 Alt 代码/字符

javascript - 如何在 javascript 中捕获 "History.Back"事件?

javascript - 来自react-intl的FormattedNumber组件不起作用

javascript - 使用 Javascript 对象或 var 创建一个 css 类