Python 中的 10 进制整数的补数
假设我们有十进制数。我们需要获取该十进制数的二进制补数,然后再将其转回十进制并返回结果。因此,如果该数字为 20,则其二进制形式为 10100,补数为 01011,在十进制中为 11
要解决此问题,我们将遵循以下步骤:
- s := 数字 n 的二进制字符串
- sum := 0 且 num := 1
- 针对 s 中的每个元素 i(逆方向)
- 如果 i = ‘b’,则返回 sum
- 否则当 i = ‘0’ 时,则 sum := sum + num
- num := num * 2
示例
让我们查看以下实现以获得更好的理解:
class Solution(object): def bitwiseComplement(self, N): s = str(bin(N)) sum = 0 num = 1 for i in s[::-1]: if i == "b": return sum elif i =="0": sum+=num num*=2 ob1 = Solution() print(ob1.bitwiseComplement(20))
输入
20
输出
11
广告
数据结构
网络技术
关系型数据库
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP