numpy.binary_repr#
- numpy.binary_repr(num, width=None)[source]#
将输入数字的二进制表示形式作为字符串返回。
对于负数,如果未给出 width,则在前面添加一个减号。如果给出了 width,则返回该数字相对于该 width 的二进制补码。
在二进制补码系统中,负数由其绝对值的二进制补码表示。这是计算机上表示有符号整数最常见的方法 [1]。一个 N 位二进制补码系统可以表示范围从 \(-2^{N-1}\) 到 \(+2^{N-1}-1\) 的每个整数。
- 参数:
- numint
只能使用整数十进制数。
- widthint,可选
如果 num 为正,则返回字符串的长度;如果 num 为负,则返回二进制补码的长度,前提是 width 至少为 num 以指定形式表示所需的位数。如果 width 值不足,则会引发错误。
- 返回值:
- binstr
num 的二进制表示形式或 num 的二进制补码。
备注
binary_repr
等效于使用基数为 2 的base_repr
,但速度大约快 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'