移位运算符,是一类在计算机编程语言中广泛使用的运算符。
移位运算符有两种:左移(<<)和右移(>>),它们的主要作用是用于在二进制数中移动位数,通常用于对数字进行扩大或缩小,以及提高程序的运行效率。
左移运算符(<<)表示将一个二进制数向左移动(增加位数),左移后右边用零填补。
右移运算符(>>)则表示将一个二进制数向右移动(减少位数),右移后左边用符号位(取决于是带符号还是无符号数)填补。
除了左右移位运算,符合位移。当执行移位运算时,会将数值转化为二进制形式,并进行移位操作。在移位操作过程中,最高位是符号位,正数为0,负数为1。当右移时,符号位不变。
另外有时候我们需要无符号的位移,无符号右移所执行的位移操作与带符号右移一样,只不过在数值存储方式上略有区别,即符号位为0。无符号位移右移时高位补0。
移位运算符是一种比较基础的操作,但是在一些算法中非常常见。掌握移位运算的知识,对于理解硬件电路、编写高性能程序都有帮助。