numpy.binary_repr#

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

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

对于负数,如果未给定 width,则在前面添加一个负号. 如果给定了 width,则返回该数字的二进制补码,宽度由width指定.

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

参数:
numint

只能使用整数十进制数.

width整数,可选

如果 num 为正数,则返回字符串的长度;如果 num 为负数,则返回二进制补码的长度,前提是 width 至少是足以以指定形式表示 num 的位数. 如果 width 值不足,则会引发错误.

返回:
binstr

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

参见

base_repr

返回给定进制系统中数字的字符串表示形式.

bin

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

注释

binary_repr 等同于使用基数为 2 的 base_repr ,但速度快约 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'