python - Python 中字符串的二进制移位

标签 python binary

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

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

相关文章:

python - Zerorpc:如何将字符串数据从Python转换为 Node

python - 启动 python 控制台并控制其输出

Python 归并排序

python - 在 python 中比较列表和元组

python - 使用 python-pptx 创建 PPT 时如何使用我公司的 PPT 幻灯片布局?

python - 如何在 python turtle 模块中使 Canvas 变大

java - 二进制字符串到音频的转换(Python 或 Java)

C 语言 以二进制方式访问内存

Javascript:添加两个二进制数(返回二进制)

matlab - 两个矩阵的按元素二进制值串联