描述
给定一个正整数,输出它的补数。补数是将原先数字的二进制表示按位取反,再换回十进制后得到的新数。
说明
给定的整数保证在32位有符号整数的范围内。假设一个正整数的二进制表示不包含前导零。
样例
- 样例
1:
输入:
5
输出:
2
说明:
5的二进制表示为
101(不包含前导零),它的补数为
010,因此你需要输出
2。
- 样例
2:
输入:
1
输出:
0
说明:
1的二进制表示为
1(不包含前导零),它的补数为
0,因此你需要输出
0。
解析
补数是二进制中的概念
findComplement=num
=>parseInt(num
.toString(2).replace(/0/g,'2').replace(/1/g,'0').replace(/2/g,'1'),2)
运行结果