本文为转载他人文章:

 

bitand 按位与操作

a = 7;

b = bitand(10,a);

disp(dec2bin(a,8)); %ans = 00000111

disp(dec2bin(b,8)); %ans = 00000010

 

bitcmp 获取数据的补码

bitcmp(uint8(99)) %ans = 156

bitxor(99,255),   %ans = 156

 

bitget获取二进制位

bitget(uint8(13), 4:-1:1), %ans = 1    1    0    1

bitget(uint8(13), 8:-1:1), %ans = 0    0    0    0    1    1    0    1

 

bitor按位或操作

a = 15;

b = bitor(10,a);

disp(dec2bin(a,8)); %ans = 00001111

disp(dec2bin(b,8)); %ans = 00001111

bitxor(1,2)=3;

基本思路是首先转换为二进制,接着做按位xor操作,然后转换为十进制

 

bitset 设置指定bit位

bitset(uint8(9), 5),%ans = 25 将9的第5位设置为1

 

bitshift 移位操作

bitshift(12, 2), %ans = 48 右移

bitshift(12, -2),%ans = 3  左移

 

bitxor 按位异或(取反)

a = 15;

b = bitxor(10,a);

disp(dec2bin(a,8)); ans = 00001111

disp(dec2bin(b,8)); ans = 00000101

 

dec2bin   十进制转换为二进制

bin2dec   二进制转换为十进制 %bin2dec(\'010111\')

dec2hex  十进制转换为十六进制

hex2dec    十六进制转换为十进制%hex2dec(\'3ff\')