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