java按位运算符(操作符)
最近在看源码时,发现一些java基础有些记不清了。今天来回忆,整理一下。
按位运算符是来操作整数基本数据类型中的单个“比特”(bir),即二进制位,位运算符会对两个参数中对应的位执行布尔代数运算,并最终生成一个结果。
位运算符来源于C语言面向底层的操作,在这种操作中经常需要直接操作硬件,设置硬件寄存器内的二进制位。Java的设计初衷是为了嵌入电视机机顶盒,所以种面向底层的操作仍被保留了下来。
1、“与”、“位与”(&)
按位“与”操作符,如果两个数的二进制,相同位数都是1,则该位结果是1,否则是0.
例1 5&4
5的二进制是 0000 0000 0000 0101
4的二进制是 0000 0000 0000 0100
则结果是 0000 0000 0000 0100 转为十进制是4。
2、“或”、“位或”(|)
按位“或”操作符,如果两个数的二进制,相同位数有一个是1,则该位结果是1,否则是0
例2 5 | 4
5的二进制是 0000 0000 0000 0101
4的二进制是 0000 0000 0000 0100