进制转换
在之前的工作中很好考虑到进制问题,但是换了新的工作基于蓝牙、nfc比较多,所以又用到了进制的问题,比如说通信之间的数值传递,文件传递获取的加密等
1.JAVA中其他位运算符:
~ 按位非(NOT)(一元运算)
& 按位与(AND)
| 按位或(OR)
^ 按位异或(XOR)
>> 右移
>>> 右移,左边空出的位以0填充
<< 左移
&= 按位与赋值
|= 按位或赋值
^= 按位异或赋值
>>= 右移赋值
>>>= 右移赋值,左边空出的位以0填充
<<= 左移赋值
位运算之间为二进制之间的转换,以>>>来进行举例
5的二进制:00000101
>>>2 00000001 转换为10进制为 1
<<2 00010100 转换为10进制为 20
2.正负数转换
-5 转换为二进制: 取反加1 00000101->11111010->11111011
二进制转换为十进制 减一取反 1开头则为负数
11111011->11111010->00000101 -> -5
3.&运算
32&0x0F 这为10进制数和16进制数之间的与运算
两者转换为2机制
32: 100000
0x0F: 001111
规则,相同则相同
000000
10进制为0;
4.Character.forDigit(int digit, int radix)
digit - 数字转换为字符
radix - 基数