我有一個 32 位 uint 標量,如何在不向上轉換 dtype 的情況下對其進行位移?
x = np.uint32(123456789)
x << 11
int64 輸出:
252839503872
預期輸出:
3731400704
通過執行 可以獲得我想要的輸出np.uint32((x << 11) & 0xFFFFFFFF),但是對于這樣一個簡單的操作來說,語法感覺是多余的。
uj5u.com熱心網友回復:
兩個引數都必須具有所需的 dtype:
In [80]: np.left_shift(x,np.uint32(11))
Out[80]: 3731400704
In [81]: x<<np.uint32(11)
Out[81]: 3731400704
x<<11是一個易于操作,但dtype的np.array(11)擁有控制權。
uj5u.com熱心網友回復:
您可以使用np.uint32(x << 11)它會產生預期的輸出
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/338368.html
標籤:麻木的
