Matlab数值按位操作

来源:互联网 发布:淘宝买家投诉举证 编辑:程序博客网 时间:2024/06/14 14:37


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 利用异或求补码



0 0
原创粉丝点击