java按位操作符

来源:互联网 发布:淘宝游戏币怎么交易 编辑:程序博客网 时间:2024/06/07 00:30

按位操作符:用来操作整数基本数据类型中的单个“比特”(bit),即二进制位。按位操作符会对两个参数中对应的位执行布尔代数运算。

按位操作符来源于C语言面向底层的操作,在这种操作中经常需要直接操纵硬件,设置硬件寄存器内的二进制位。

移位操作符:操作的运算对象也是二进制的“位”,移位操作符只可用来处理整数类型(基本类型的一种)。左移位操作符(<<)能够按照操作符右侧指定的位数将操作符左边的操作数向左移动(在低位补0)。“有符号”,右移位操作符(>>)则按照操作符右侧指定的位数将操作符左边的操作数向右移动。“有移动”  右移位操作符使用“符号扩展”:若符号为正,则在高位插入0;若符号为负,则在高位插入1。Java中增加了一种“无符号”右移位操作符(>>>),它使用“零扩展”:无论正负,都在高位插入0。

如果对char、byte或者short类型的数值进行移位处理,那么在移位之前,他们会被转成int类型,并且得到的结果也是一个int类型的值。只有数值右端的低5位才有用。这样可防止我们移位超过int类型值所具有的位数。(因为2的5次方是32位,而int类型只有32位)