bitshift(A, k)函数:先把A变成二进制数,然后把这个二进制数向左移动k位(如果k是负数,表示向右移动k位),再把得到的二进制数所对应的十进制数返回出来。比如,3的二进制是11,向左移一位是110,十进制就是6;向左移两位是1100,十进制就是12,如下图所示:
又例如:
for k = 0:8 a = bitshift(1, k); % 把1向左移动k位 fprintf('%5d %9s ', a, dec2bin(a)); end
运行结果:
1 1 2 10 4 100 8 1000 16 10000 32 100000 64 1000000 128 10000000 256 100000000