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\n', a, dec2bin(a)); end
運行結果:
1 1 2 10 4 100 8 1000 16 10000 32 100000 64 1000000 128 10000000 256 100000000