在计算机指令中,移位操作是一种基本操作,是一种直接对二进制数据的位运算操作。
而移位运算又包含了逻辑移位(logical shift)和算术移位(arithmetic shift)两种。
逻辑移位:移出去的位丢弃,空缺位(vacant bit)用 0 填充。
算术移位:移出去的位丢弃,空缺位(vacant bit)用“符号位”来填充,所以一般用在右移运算中。
一般而言,左右移,都是补0,但是对于有符号的数的右移,则用“符号位”来填充。
在计算机指令中,移位操作是一种基本操作,是一种直接对二进制数据的位运算操作。
而移位运算又包含了逻辑移位(logical shift)和算术移位(arithmetic shift)两种。
逻辑移位:移出去的位丢弃,空缺位(vacant bit)用 0 填充。
算术移位:移出去的位丢弃,空缺位(vacant bit)用“符号位”来填充,所以一般用在右移运算中。
一般而言,左右移,都是补0,但是对于有符号的数的右移,则用“符号位”来填充。