1. 程式人生 > >MATLAB的位運算操作

MATLAB的位運算操作

在MATLAB中想要直接對類似於c、c++中的位運算操作,即或‘|’、與‘&’、非‘~’操作,如果直接寫成

Result = anynum & 0xff;   %錯誤示範

在matlab中會把0xff認為是未定義的變數名而完成不了任務,因而想要在matlab中進行位操作,需要函式來操作。

在matlab中有如下的幾個位運算函式:
這裡寫圖片描述

這裡舉一個例子。

如函式:bitand 顧名思義bit and 按位與,他的操作如下:

0xABCD ====== 43981
0xFFF ====== 4095

那麼: 0xABCD & 0xFFF = 0xBCD ===== 3021

在matlab中的操作就是把他們的十進位制數放入bitand函式中即可:

Result = bitand(43981,4095);

%結果是:
%Result = 3021;

也就是說,在matlab中進行位操作的時候,只需要把你要操作的十六進位制對應的十進位制數放入函式中即可。

這類函式適用於某些模組返回十六進位制的資料時,只有某幾位是有效位,那麼這個時候就要進行位操作,提取有效的資料。不用擔心第一個引數的問題,你把資料讀入matlab的時候就已經轉化為十進位制的數了。所以你只需要考慮的是你要取得是那幾位,然後把相應的十進位制數帶入函式的第二個引數即可。