2025-11-08 06:16:26
左移就是往左推数字的积木块,左边空位补零,右边掉出末尾。比如数字00110000左移一位变成01100000,相当于乘以二。这跟算盘拨珠一样,把所有珠子往左挪,右边没珠子就空着。高位空出位会自动补零,就像把纸条从左边撕掉一截。
为什么这样操作呢?因为移位本质是乘除二,左边空出位相当于扩大十倍空间。比如初始值是00110000(48),左移后变成01100000(96),正好翻倍。但要注意数据丢失,比如原数01000001左移后变成1000000,高位1会掉出去。测试数据证明,连续左移三次会少掉三位,比如00000001左移三次变成0000000,损失了三位有效数字。所以用移位算乘除时,必须确保左边有空位,否则会出错。
本题链接: