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 的二補數。
註解
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'