numpy.binary_repr#

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

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

对于负数,如果未指定 width,则在前面加上一个减号。如果指定了 width,则会返回该宽度的数字的二补码。

在二补码系统中,负数用绝对值的二补码表示。这是计算机中最常见的表示有符号整数的方法 [1]。N 位二补码系统可以表示范围在 \(-2^{N-1}\)\(+2^{N-1}-1\) 之间的任意整数。

参数:
numint

只能使用整数十进制数。

widthint, optional

如果 num 为正数,则返回字符串的长度;如果 num 为负数,则返回二补码的长度,前提是 width 至少有足够的位数来表示 num。如果 width 值不足,则会引发错误。

返回:
binstr

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

另请参阅

base_repr

以给定的基数系统返回数字的字符串表示形式。

bin

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

备注

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

参考

[1]

维基百科,“二补码”,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'

当输入数字为负且指定了 width 时,返回二补码。

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