计算步骤:
0x01. 计算出十进制数9对应的二进制:
根据 2^3 可知第3位为有效索引位,同样的2^0可知第0位也为有效索引位,所谓的有效索引位是指该索引位对应的值为1,换句话也就是说: 这个32位的二进数的第0位和第3位对应的值分别为1,其余位全为0.
0x03. 根据有效索引位我们可知对应的二进制数为:
0x04-A. 左移3位之算法A:
左移3位即代表将二进制的左侧3位丢弃,然后整体向左平移,左移之后位数必然会缺失,所以必须用0补足32位,最后得到新的二进制数如下:
0x04-B. 左移3位之算法B:
左移3位时,整体保持不动,我们只关注有效索引位,即:
将所有的有效索引位各自向左平移3位,不过要注意平移之后新的有效索引位对应的值为1,而平移之前的原旧索引有效位对应的值为0.
0x05. 将最后的二进制转换为十进制:
0x06. 当然如果只关注运算结果,那最简单的左移算法就是乘法即: