Python中字符串的二进制移位

公正的技术

给定一个二进制字符串,将其移位给定的数量。

我无法理解为什么此代码失败,我将字符串转换为二进制然后执行移位,但是对于<<:'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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章