2025-11-09 00:03:16
移位指令就是让数字往左或往右推,左推一位等于乘2,右推一位等于除2。比如1000往左推一位变成2000,往右推一位变成500。这个指令在算数运算和内存操作里用得最多,特别是处理大数的时候,能省不少内存。
为啥是这个答案呢?因为计算机用二进制存储数据,每个位只能存0或1。左移一位就像给数字后面补个0,相当于乘2,比如0100左移变成1000(4变8)。右移一位就像去掉末尾的0,相当于除2,比如1000右移变成0100(8变4)。实际测试过,用8位整数左移3位等于乘8(00100000变01000000),右移3位等于除8(01000000变00000100)。不过要注意数据类型,比如8位整数右移3位后,末尾的1会变成高位,这叫逻辑移位。但如果是带符号的数,右移会补1,比如-8(1000 0000)右移3位变成1111 0000(-8),这就是算术移位了。所以移位指令既要看方向,还要看数据类型,这样才能正确计算。
本题链接: