JavaScript中的逆运算

时间:2018-12-05 21:18:59

标签: javascript

如何获取二进制数中每一位的逆数。假设我有这个二进制数字
011
,我应该得到
100

2 个答案:

答案 0 :(得分:3)

您可以使用自定义函数并对每个数字取反。

var binary = '011',
    inversed = Array.from(binary, v => +!+v).join('');
    
console.log(inversed);

答案 1 :(得分:2)

  1. 使用Array.from()从您的字符串创建数组
  2. 分别翻转10(下面提供了一些方法)
  3. 使用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);