MATLAB提供了各種位運算函數(shù),如“位與”、“位或”和“位非”運算、移位運算等。
下表顯示了常用的按位運算-
函數(shù) | 描述 |
---|---|
bitand(a, b) | 整數(shù) a 和 b 的位與 |
bitcmp(a) | A 的位式補碼 |
bitget(a,pos) | 在整數(shù)數(shù)組a的指定位置獲取位 |
bitor(a, b) | 整數(shù)a和b的按位或 |
bitset(a, pos) | 將bit設(shè)置為a的特定位置pos |
bitshift(a, k) | 返回一個由向左移動?比特,相當(dāng)于乘以2 ?。k的負值對應(yīng)于右移位或除以2 | k | 并朝負無窮大四舍五入到最接近的整數(shù)。任何溢出位都將被截斷。 |
bitxor(a, b) | 整數(shù) a 和 b 的位異或 |
swapbytes | 交換字節(jié)順序 |
創(chuàng)建一個腳本文件并輸入以下代碼-
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 */運行文件時,它顯示以下結(jié)果
c = 12 c = 61 c = 49 c = 240 c = 15