MATLAB - 位運算



MATLAB 提供了各種用於位運算的函式,例如“按位與”、“按位或”和“按位非”運算、移位運算等。

下表顯示了常用的位運算:

函式 用途
bitand(a, b) 整數 ab 的按位與
bitcmp(a) a 的按位取反
bitget(a,pos) 獲取整數陣列 a 中指定位置 pos 的位
bitor(a, b) 整數 ab 的按位或
bitset(a, pos) 設定 a 的特定位置 pos 的位
bitshift(a, k) 返回 a 左移 k 位的結果,相當於乘以 2kk 的負值對應於右移位或除以 2|k| 並向負無窮大舍入。任何溢位位都被截斷。
bitxor(a, b) 整數 ab 的按位異或
swapbytes 交換位元組順序

示例

建立一個指令碼檔案並鍵入以下程式碼:

a = 60;               % 60 = 0011 1100   
b = 13;               % 13 = 0000 1101 
c = bitand(a, b)      % 12 = 0000 1100  
c = bitor(a, b)       % 61 = 0011 1101 
c = bitxor(a, b)      % 49 = 0011 0001 
c = bitshift(a, 2)    % 240 = 1111 0000 */
c = bitshift(a,-2)    % 15 = 0000 1111 */

執行檔案時,它將顯示以下結果:

c =  12
c =  61
c =  49
c =  240
c =  15
matlab_operators.htm
廣告
© . All rights reserved.