目录:
定义-移位是什么意思?
移位是对二进制值的所有位执行的操作,其中将它们向左或向右移动确定的位数。 当操作数被用作一系列位而不是整体时,将使用位移。 换句话说,操作数被视为代表某些东西的单个位,而不是一个值。
位移通常用于编程中,并且每种编程语言至少具有一种变体。
移位也可以称为按位运算。
Techopedia解释了移位
移位有两个变体,向右移位和向左移位,并且进一步由应发生移位的位置数来定义。 例如,将操作数左移一个值或将“ n”位右移。
还有两种位移位,逻辑位移和算术位移。 逻辑位移对于将无符号整数乘以或除以2的幂可能很有用。 例如,如果值“ 0001”或“ 1”向左移动,则变为“ 0010”或“ 2”,再次向左移动,则变为“ 0100”或“ 4”。 向右移动具有相反的效果,即每移动一次将值除以2。 在大多数情况下,移位被视为圆形,因此当向左移位时,最左边的值变为最右边的值,反之亦然。
逻辑左移和算术左移具有相同的效果,因此Java仅具有一个左移运算符(<<)。 算术右移为(>>),而逻辑为(>>>)。 在C和C ++中,只有一个右移运算符(>>); 进行移位的类型取决于要移位的整数的类型。 有符号整数使用算术移位,而无符号整数使用逻辑移位。 位移在汇编编程中也经常使用,因为微控制器和微处理器通常依赖于标志,标志由各个位表示。 基本上是因为二进制数字系统用于以汇编语言编写的程序中,所以移位成为一种常用的运算符。