MATLAB的位運算操作
阿新 • • 發佈:2019-01-01
在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的時候就已經轉化為十進位制的數了。所以你只需要考慮的是你要取得是那幾位,然後把相應的十進位制數帶入函式的第二個引數即可。