二进制运算符,经常忘记,所以挂在博客上方便以后查阅。
注:1的二进制为00...00001, 0的二进制为000.....0000. 3的二进制为00...00011 ,5的二进制为00....00101
1.按位与运算符(& 叫做and)
规则:0&0 = 0, 0&1 = 0, 1&1=1.也就是说两位同时为1,结果为1,否则为0
例子: 3 & 5 = 1.(000011 & 000101 = 000001)
2.按位或运算符( | 或者叫做or)
规则:0|0 = 0,1|0 = 1,0|1 = 1,1|1 = 1 参加位运算的两位只要有一个为1,那么就为1
例子:3 | 5 = 7(0000011 | 00000101 = 0000111)
3.异或运算符(^ 也叫xor(以后做题会遇到xor,就是异或))
规则:0^0 = 0,0^1=1,1^0=1,1^1=0 参加位运算的两位只要相同为0,不同为1
例子:3^5 = 6(00000011^00000101=00000110)
特别的任意数 ^ 0 = 任意数.
4.取反运算符(~)
规则:二进制位0变为1,1变为0
5.左移(<<)
规则:相当于乘以2
6.右移(>>)
规则:相当于除以2
byte
1字节
最小值是 -128(-2^7);
最大值是 127(2^7-1);
boolean 至少1字节
这种类型只作为一种标志来记录 true/false 情况;
short 2字节
最小值是 -32768(-2^15);
最大值是 32767(2^15 - 1);
char 2字节
最小值是 \u0000(即为0);
最大值是 \uffff(即为65,535);
int 4字节
最小值是 -2,147,483,648(-2^31);
最大值是 2,147,483,647(2^31 - 1);
float 4字节 单精度浮点数字长32位,尾数长度23,指数长度8,指数偏移量127;
long 8字节
最小值是 -9,223,372,036,854,775,808(-2^63);
最大值是 9,223,372,036,854,775,807(2^63 -1);
double 8字节 双精度浮点数字长64位,尾数长度52,指数长度11,指数偏移量1023
英文字母:
字节数 : 1;编码:GB2312
字节数 : 1;编码:GBK
字节数 : 1;编码:ISO-8859-1
字节数 : 1;编码:UTF-8
中文汉字:
字节数 : 2;编码:GB2312
字节数 : 2;编码:GBK
字节数 : 1;编码:ISO-8859-1
字节数 : 3;编码:UTF-8