2025-11-08 06:49:28
寄存器就像排队的同学,左移就是挤左边的人往右走,右边空位补零;右移就是挤右边的人往左走,左边空位补零。比如存着数字1010的二进制寄存器,左移后变成10100,右移后变成0101。
因为移位操作是计算机处理数据的基础动作,左移相当于给数字乘2,右移相当于除2。比如存着20的二进制10100,左移一位变成101000(40),右移一位变成01010(10)。但右移会丢失末尾数字,比如存着5的二进制101右移后变成010(2),少了一位就少2。寄存器每移一次,所有位都会整体移动,就像排队时大家同时往左或往右挤,空出来的位置自动补零。比如存8位寄存器,左移后高位补0,低位掉出;右移后低位补0,高位掉出。数据手册里写得很清楚,比如8051单片机的移位寄存器,左移1次相当于乘2,右移1次相当于除2,但精度会损失。
本题链接: