numpy.binary_repr#
- numpy.binary_repr(num, width=None)[源代码]#
返回输入数字的二进制表示形式,类型为字符串.
对于负数,如果没有给出 width,则在前面添加一个减号.如果给出了 width,则返回数字的二进制补码,并根据该 width 进行计算.
在二进制补码系统中,负数由绝对值的二进制补码表示.这是在计算机上表示有符号整数的最常用方法 [1] . 一个 N 位二进制补码系统可以表示范围在 \(-2^{N-1}\) 到 \(+2^{N-1}-1\) 之间的每个整数.
- 参数:
- numint
只能使用整数十进制数.
- widthint, optional
如果 num 为正数,则为返回字符串的长度;如果 num 为负数,则为二进制补码的长度.前提是 width 至少要有足够的位数,才能以指定的格式表示 num .如果 width 值不足,则会引发错误.
- 返回:
- binstr
num 的二进制表示或 num 的二进制补码.
注释
binary_repr相当于使用 base 为 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'
当输入数字为负数且指定了 width 时,将返回二进制补码:
>>> np.binary_repr(-3, width=3) '101' >>> np.binary_repr(-3, width=5) '11101'