定义:
算术右移:在将数值向右移动指定的位数时,会在左侧填充符号位(即最左边的位)。如果原数值是正数,则左侧填充0;如果是负数,则左侧填充1。
逻辑右移:将数值向右移动指定的位数,但是它总是用0来填充左侧空出来的位置,不论原来的最高位是什么。
总结:
算术右移适合用于需要保留数值符号的场合,比如处理有符号整数的除法。
逻辑右移则更适合于无符号数的处理,或是那些不需要保留符号信息的应用场景。
拓展:
算术左移和逻辑左移本质没有区别
定义:
算术右移:在将数值向右移动指定的位数时,会在左侧填充符号位(即最左边的位)。如果原数值是正数,则左侧填充0;如果是负数,则左侧填充1。
逻辑右移:将数值向右移动指定的位数,但是它总是用0来填充左侧空出来的位置,不论原来的最高位是什么。
总结:
算术右移适合用于需要保留数值符号的场合,比如处理有符号整数的除法。
逻辑右移则更适合于无符号数的处理,或是那些不需要保留符号信息的应用场景。
拓展:
算术左移和逻辑左移本质没有区别