java中使用不同的进制数字用不同的前缀表示,以下演示四种常见的进制
对于一个合格的程序员来说,进制的知识是必须要掌握的😁
示例:
int n1 = 0b1010; // 二进制
int n2 = 1010; // 十进制
int n3 = 01010; // 八进制
int n4 = 0x1010; // 十六进制
System.out.println(n1);
System.out.println(n2);
System.out.println(n3);
System.out.println(n4);
--------------------------
输出:
10
1010
520
4112
方法都是一样的,各种进制之间可以互通🤡
二进制 – 十进制:
八进制 – 十进制:
十六进制 – 十进制:
十进制 – 二进制:
十进制 – 八进制:
十进制 – 十六进制:
二进制 – 八进制:
二进制 – 十六进制:
八进制 – 二进制:
十六进制 – 二进制:
符号位不变,其他位取反
其反码 + 1
;负数的反码 = 其补码 - 1
操作符 | 描述 |
---|---|
& | 如果相对应位都是1,则结果为1,否则为0 |
l | 如果相对应位都是 0,则结果为 0,否则为 1 |
^ | 如果相对应位值相同,则结果为0,否则为1 |
〜 | 按位取反运算符翻转操作数的每一位,即0变成1,1变成0 |
<< | 按位左移运算符。左操作数按位左移右操作数指定的位数 |
>> | 按位右移运算符。左操作数按位右移右操作数指定的位数 |
>>> | 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充 |
示例一:
// 位运算
int a = 2; // 补码:10
int b = 3; // 补码:11
System.out.println(a&b); // 2
System.out.println(a|b); // 3
System.out.println(a^b); // 1
System.out.println(~a); // -3
示例二:
// 移位运算
System.out.println(1>>2); // 一位相当于 / 2
System.out.println(1<<2); // 一位相当于 * 2
System.out.println(1>>>2); // 无符号右移
---------------------
输出:
0
4
0