numpy.binary_repr#

numpy.binary_repr(num, width=None)[源代码]#

返回输入数字的二进制表示形式作为字符串.

对于负数,如果没有给出宽度,则会在前面添加一个负号.如果给出了宽度,则返回该宽度的数字的二进制补码.

在二补码系统中,负数通过其绝对值的二补码表示.这是计算机上表示有符号整数的最常见方法 [1] .一个N位二补码系统可以表示范围从 \(-2^{N-1}\)\(+2^{N-1}-1\) 的每一个整数.

参数:
numint

只能使用一个整数小数.

widthint, 可选

如果 num 是正数,则返回字符串的长度,或者如果 num 是负数,则返回二进制补码的长度,前提是 width 至少是表示 num 所需的最小位数.如果 width 值不足,则会引发错误.

返回:
binstr

num 的二进制表示或 num 的二进制补码.

参见

base_repr

返回一个数字在给定基数系统中的字符串表示.

bin

Python 内置的整数二进制表示生成器.

备注

binary_repr 等同于使用 base_repr 并设置基数为2,但速度大约快25倍.

参考文献

[1]

Wikipedia, “Two’s complement”, https://en.wikipedia.org/wiki/Two’s_complement

示例

>>> import numpy as np
>>> np.binary_repr(3)
'11'
>>> np.binary_repr(-3)
'-11'
>>> np.binary_repr(3, width=4)
'0011'

当输入数字为负且指定了宽度时,返回二进制补码:

>>> np.binary_repr(-3, width=3)
'101'
>>> np.binary_repr(-3, width=5)
'11101'