dec2bin(d, n) 十進位制轉為二進位制
d為輸入,n值設定最小輸出位數
dec2bin(10, 7)
ans =
0001010
bin2dec 二進位制轉換為十進位制
bin2dec('1011') % 內部需為字串
ans =
11
dec2hex 十進位制轉換為十六進製制
hex2dec 十六進製制轉換為十進位制
bitand 按位與操作
a = 7;
b = bitand(10, a); % b = 2
disp(dec2bin(a, 8)); % ans = 00000111
disp(dec2bin(b, 8)); % ans = 00000010
bitor 按位或操作
a = 15;
b = bitor(10,a);
disp(dec2bin(a,8)); %ans = 00001111
disp(dec2bin(b,8)); %ans = 00001111
bitxor 按位異或
a = 15;
b = bitxor(10,a);
disp(dec2bin(a,8)); ans = 00001111
disp(dec2bin(b,8)); ans = 00000101
bitshift 移位操作
bitshift(12, 2), %ans = 48
左移兩位
bitshift(12, -2),%ans = 3
右移兩位
bitset 設定制定bit位
bitset(uint8(9), 5)
,%ans = 25 將9
的第5位設定為1
bitget 獲取二進位制位
bitget(uint8(13), 4:-1:1), %ans = 1101
bitget(uint8(13), 1:4), %ans = 1011 從右向左取
bitcmp 獲取資料的補碼
bitcmp(uint8(99)) %ans = 156
bitxor(99,255), %ans = 156 利用異或求補碼
c c 按位操作
因為有時候需要大量的標誌位來判斷當前狀態等。使用太多的int,bool等會使得程式不 漂亮 這時候需要 位 操作來解決 建立乙個標誌位 unsigned int globalmark 0 在定義一些巨集,如 define control w 0x01 define control a 0x02 de...
c c 按位操作
因為有時候需要大量的標誌位來判斷當前狀態等。使用太多的int,bool等會使得程式不 漂亮 這時候需要 位 操作來解決 建立乙個標誌位 unsigned int globalmark 0 在定義一些巨集,如 define control w 0x01 define control a 0x02 de...
通過按位與和按位或操作
通過按位與和按位或操作來拉高或者拉低某位的電平,用這兩種運算可以讓其他為的電平狀態不受影響。1.按位或 操作,可以實現拉高電平 0 1,即對應位至少有一者為1運算結果為1,都為0才為0 將需拉高電平的低電平位0與1進行按位或操作,0 1 1即可拉高電平。如果原操作為也有為0的,為保證其電平不改變,其...