Java中的二进制运算
比特bit,信息量的最小单位,符号b,二级制中的一位数
字节byte,表示信息的最小单位,符号B。计算机中的所有数据以字节为单位。 1byte = 8bit
1.按位与 &
参与运算的两个数据,按二进制位进行与运算。相同位上两个都为1,结果才为1。1&1=1、1&0=0、0&1=0、0&0=0。
14&3=2
2.按位或 |
参与运算的两个数据,按二进制位进行或运算。1|1=1, 1|0=1, 0|1=1, 0|0=0
14|3=15
3.按位异或 ^
参与运算的两个数据,按二进制位进行异或运算。两数不相同结果为1,两数相同结果为0。1^1=0,1^0=1,0^1=1,0^0=0.
14^3=13
4.按位取反 ~
~1=0,~0=1
~14=-15
5.左位移
将一个二进制数向左移动对应的位数
符号位不变,右侧低位补0,左侧高位舍弃
14 << 1 ,即 0000 1110 << 1 = 0001 1100,结果是整数28, 即 14 << 1 = 28
m << n ,相当于 m x 2^n^(最高位不为1的情况下)
6.右位移
将一个二进制数向右移动对应的位数
符号位不变,右侧低位舍弃,左侧高位正数补0,负数补1
14 >> 1,即0000 1110 >> 1 得 0000 0111,结果是整数7,因此14 >> 1 = 7
-14 >> 2,即-1111 0010 >> 2 得 1111 1100,结果是整数-4,因此-14 >> 2 = -4
m >> n,相当于m ÷ 2^n^(低位为1时,精度会丢失)
Java中的整数类型
byte:1字节、8位比特
short:2字节、16位比特
int:4字节、32位比特
long:8字节、64位比特
类型 | byte | short | int | long |
最大值 | +127(27-1) | +32767(215-1) | +231-1 | +263-1 |
最小值 | -128(27) | -32768(215) | -231 | -263 |
还没有评论,来说两句吧...