有关算术左移中,说法正确的是(A )。
A、数据顺序左移1位,最低位用0补充
B、数据顺序左移1位,最低位用1补充
C、数据顺序左移1位,最低位用原最高位补充
D、数据顺序左移1位,最高位不变
移位分为两种──逻辑移位和算数移位
一、逻辑移位:二进制数向左或右移动,缺位补零11001011 >> 1 =01100101
最前面的0为补零, 后面的数为移位之前的数, 整个位数不变, 最后的 1 丢失,
11001011 << 2 =00101100
移动之后前面两个1丢失,后面补两个零
二、算数移位(对有符号数操作),80x86 处理器在左移时,算数移位和逻辑移位是相同的,在右移时,不同。
算数右移时,缺位用符号位填充,而不是用零填充。
00110101 >> 1 =00011010,符号位为零,用零填充
10110101 >> 1 =11011010,符号位为一,用一填充
由此可见,只有答案A是正确的。