给定一个二进制字符串,将其移动给定的数量。
我无法理解为什么此代码失败,我将字符串转换为二进制然后执行移位,但我得到 <<: 'str' 和 'int' 不受支持的操作数类型。
我认为我错误地转换了二进制字符串,但不知道该怎么做。
def insertt(num, numb, shift):
num = bin(int(num, 2) << shift)
numb = bin(int(numb))
print(bin(int(num, 2) | bin(int(numb, 2))
a = '10000000000'
b = '1001'
c = 2
insertt(a, b, c)
预期的结果只是转变。
谢谢
最佳答案
在使用 bin 之前必须先移动二进制字符串:
def insertt(num, shift):
num = bin(int(num, 2) << shift)
print(num)
a = '10000000000'
c = 2
insertt(a, c)
# output: 0b1000000000000
关于python - Python 中字符串的二进制移位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57316966/