[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 |