如何获取二进制数中每一位的逆数。假设我有这个二进制数字
011
,我应该得到
100
答案 0 :(得分:3)
您可以使用自定义函数并对每个数字取反。
var binary = '011',
inversed = Array.from(binary, v => +!+v).join('');
console.log(inversed);
答案 1 :(得分:2)
Array.from()
从您的字符串创建数组1
和0
(下面提供了一些方法)join()
将它们合并成一个字符串
var a = '011';
//Arithmetic: 1-n
var result = Array.from(a, n=>1-n).join("");
console.log(result);
//Bitwise: n^=1
var result2 = Array.from(a,n=>n^=1).join("");
console.log(result2);
//Logical: +(!n)
var result3 = Array.from(a,n=>+(!+n)).join("");
console.log(result3);