1、按位与& 两位全为1,结果才为1
用法: 1、清零。如果想讲一个单位清零,只要与一个哥位都是零的数值相与,结果为零。
2、取一个数中指定位。设X=1010 1110,取X得低4位,用X&00001111=0000 1110 即可。
2、按位或| 两位有一个为1,结果就为1
用法: 1、对一个数的某些位置1
3、异或运算 两个相应位值为异(值不同),则该位结果为1,否则为0
用法: 1、使特定位翻转。找一个数,对应X要翻转的各位,该数的对应位为1,其余位 为0,此数与X对应位异或即可。
例:X=1010 1110,使X低4位翻转,用X……0000 1111=1010 0001即可得到
2、与0相异或,保留原值
例:X……0000 0000=1010 1110
3、两个变量交换值的方法
例如:A=A^B;B=A^B;A=A^B;
原码:一个整数按照绝对值大小转换成的二进制数成为原码
反码:将二进制数按位取反,所得的新二进制数为原二进制数的反码,且他们互为反码
补码:反码加1成为补码
JAVA内置的进制转换
十进制转十六 integer.toHexString(int i);
八 integer.toOctalString(inti);
二 integer.toBinaryString(inti);
十六进制转十 integer.valueOf(“FFF”,16) 或者integer.parseInt((“FFF”,16);
八 integer.valueOf(“378”,8)或者integer.parseInt((“FFF”,16);
二 integer.valueOf(“0101”,2)或者integer.parseInt((“FFF”,16);
字符串转字节数组
String s; byte[] bs=s.getBytes();
字节数组转字符串
byte[] bs=new byte[int];
String s=new String(bs);或String s=newString(bs,encode);encode指编码方式 GB2312 ,UTF-8