python - 在python中将int转换为特定大小的字节

标签 python bit-manipulation

我正在尝试在 python 中创建一个位数组,该数组是两个二进制数,宽度固定。

例如。

[11,90] ----> 0000101101011010

我尝试过的/遇到的问题:

  1. bin(11) => 0b1010(这不是我需要的固定宽度)

  2. 使用格式 '{0:11b}'.format(8) 进行字符串操作(这可行,但我想尽可能避免转换为字符串并返回。看起来就像很多开销来做本质上的转变和添加)

最佳答案

您可以使用 struct :

bin(int.from_bytes(struct.pack('>bb', 11, 90), byteorder='big'))

如果您想要前导 0:

'{:016b}'.format(int.from_bytes(struct.pack('>bb', 11, 90), byteorder='big'))

关于python - 在python中将int转换为特定大小的字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47964783/

相关文章:

python -lxml : enforcing a specific order for attributes

c - 如何实现三元运算符 a ? b :c without using if else & branching

php - ~ 位运算符(波浪号)的作用是什么

c++ - 从连续的单词序列中提取任意范围的位的最有效方法是什么?

database - Oracle 中的按位异或

python - 解密雅虎财经中的日期序列号

python - 如何根据 Django 中的字段向某些用户添加特定权限 View ?

python - 在python中查找具有约束的列表中的所有组合

python - 使用 Scipy 将字典从 Python 保存到 Matlab

c - 带位运算符的模式