[matlab] bitshift

https://www.cnblogs.com/picassooo/p/13357476.html

 

bitshift(A, k)函数:先把A变成二进制数,然后把这个二进制数向左移动k位(如果k是负数,表示向右移动k位),再把得到的二进制数所对应的十进制数返回出来。比如,3的二进制是11,向左移一位是110,十进制就是6;向左移两位是1100,十进制就是12,如下图所示:

 

又例如:

1
2
3
4
for k = 0:8
    a = bitshift(1, k);  % 把1向左移动k位
    fprintf('%5d  %9s\n', a, dec2bin(a));
end

运行结果:

1
2
3
4
5
6
7
8
9
  1          1
  2         10
  4        100
  8       1000
 16      10000
 32     100000
 64    1000000
128   10000000
256  100000000

 

posted @ 2023-04-06 16:09  清风oo  阅读(88)  评论(0编辑  收藏  举报