- 1.进制
- 2.进制转化
- 其他进制转十进制
- 十进制转其他进制
- 混合进制转换
- 3.原码反码补码的概念
- 4.位运算符
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
2.进制转化 其他进制转十进制
方法都是一样的,各种进制之间可以互通嵐
二进制 – 十进制:
八进制 – 十进制:
十六进制 – 十进制:
十进制 – 二进制:
十进制 – 八进制:
十进制 – 十六进制:
二进制 – 八进制:
二进制 – 十六进制:
八进制 – 二进制:
十六进制 – 二进制:
3.原码反码补码的概念
- 二进制最高位是符号位,0表示正数,1表示负数
- 正数的原码反码补码都一样
- 负数的反码 = 符号位不变,其他位取反
- 负数的补码 = 其反码 + 1;负数的反码 = 其补码 - 1
- 0的反码,补码都是0
- 计算机在运算的时候,都是以补码方式进行运算的(正负统一,运算方便)
- 当我们看运算结果时,要看其结果的原码
4.位运算符
| 操作符 | 描述 |
|---|---|
| & | 如果相对应位都是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



