numpy.bitwise_and#
- numpy.bitwise_and(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature]) = <ufunc 'bitwise_and'>#
逐元素計算兩個陣列的位元 AND。
計算輸入陣列中整數底層二進位表示的位元 AND。此 ufunc 實作 C/Python 運算子
&
。- 參數:
- x1, x2array_like
僅處理整數和布林類型。如果
x1.shape != x2.shape
,它們必須可廣播到一個共同的形狀(這將成為輸出的形狀)。- outndarray、None 或 ndarray 和 None 的元組,可選
結果儲存的位置。如果提供,則必須具有輸入廣播到的形狀。如果未提供或為 None,則會返回新分配的陣列。元組(僅可作為關鍵字引數)的長度必須等於輸出的數量。
- wherearray_like,可選
此條件會廣播到輸入。在條件為 True 的位置,out 陣列將設定為 ufunc 結果。在其他位置,out 陣列將保留其原始值。請注意,如果透過預設的
out=None
建立未初始化的 out 陣列,則其中條件為 False 的位置將保持未初始化。- **kwargs
對於其他僅限關鍵字的引數,請參閱 ufunc 文件。
- 返回:
- outndarray 或純量
結果。如果 x1 和 x2 都是純量,則這是一個純量。
另請參閱
logical_and
bitwise_or
bitwise_xor
binary_repr
以字串形式返回輸入數字的二進位表示。
範例
>>> import numpy as np
數字 13 以
00001101
表示。同樣地,17 以00010001
表示。因此,13 和 17 的位元 AND 為000000001
,即 1>>> np.bitwise_and(13, 17) 1
>>> np.bitwise_and(14, 13) 12 >>> np.binary_repr(12) '1100' >>> np.bitwise_and([14,3], 13) array([12, 1])
>>> np.bitwise_and([11,7], [4,25]) array([0, 1]) >>> np.bitwise_and(np.array([2,5,255]), np.array([3,14,16])) array([ 2, 4, 16]) >>> np.bitwise_and([True, True], [False, True]) array([False, True])
在 ndarray 上,
&
運算子可以用作np.bitwise_and
的簡寫。>>> x1 = np.array([2, 5, 255]) >>> x2 = np.array([3, 14, 16]) >>> x1 & x2 array([ 2, 4, 16])