numpy.binary_repr#

numpy.binary_repr(num, width=None)[原始碼]#

以字串形式傳回輸入數字的二進位表示法。

對於負數,如果未給定 width,則會在前面加上負號。如果給定 width,則傳回該數字的二補數,相對於該 width。

在二補數系統中,負數以絕對值的二補數表示。這是電腦上表示帶號整數最常見的方法 [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 等效於使用基底為 2 的 base_repr,但速度快約 25 倍。

參考資料

[1]

Wikipedia,「二補數」,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'