1.说明

在Java中整数有四种表示方式,
分别为十进制,二进制,八进制,十六进制,
其中十进制就是平常最熟悉,使用最多的进制;
二进制是在计算机中使用最多的进制,
八进制和十六进制都是基于二进制的,
3位二进制数组成1位八进制数,
4位二进制数组成1位十六进制数,
所以二进制,八进制,十六进制互相转换很方便。

2.四种方式表示整数

  1. 十进制(Decimal):0-9 , 满10进1。
  2. 二进制(Binary): 0、1 ,满2进1,以0b或0B开头。
  3. 八进制(Octal): 0-7 , 满8进1, 以数字0开头表示。
  4. 十六进制(Hex): 0-9及A-F,满16进1,以0x或0X开头表示。注意A-F不区分大小写。
进制(数值) 10 2 8 16
进制(英文) Decimal Binary Octal Hex
进制(中文) 十进制 二进制 八进制 十六进制
字符集 0-9 0,1 0-7 0-9,A-F(a-f)
进位方法 满10进1 满2进1 满8进1 满16进1
前导字符 0b或0B 数字0 0x或0X

3.常见整数的表示方法

针对不同的进制,
下表列出了常见整数的表示方法。

十进制 二进制 八进制 十六进制
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
16 10000 20 10
17 10001 21 11

4.Integer类

上面给出的表格可以在开发中使用到,
在使用Java提供的相关类库时,
可以查看对应的表格,
下面基于Integer类的提供的API,
演示这几个API的使用。

public static void testSimpleMethod() {
Integer int1 = 2021;
// 默认打印的是十进制
System.out.println("1.默认十进制:");
System.out.println("十进制int1=" + int1); // 使用十进制打印,toString
System.out.println("2.指定十进制方法:");
System.out.println("十进制int1=" + Integer.toString(int1)); // 使用十进制打印,指定参数
System.out.println("3.指定十进制参数:");
System.out.println("十进制int1=" + Integer.toString(int1, 10)); // 使用二进制打印
System.out.println("4.指定二进制方法:");
System.out.println("二进制int1=" + Integer.toBinaryString(int1)); // 使用八进制打印
System.out.println("5.指定八进制方法:");
System.out.println("八进制int1=" + Integer.toOctalString(int1)); // 使用十六进制打印
System.out.println("5.指定十六进制方法:");
System.out.println("十六进制int1=" + Integer.toHexString(int1));
}

程序输出如下:

1.默认十进制:
十进制int1=2021
2.指定十进制方法:
十进制int1=2021
3.指定十进制参数:
十进制int1=2021
4.指定二进制方法:
二进制int1=11111100101
5.指定八进制方法:
八进制int1=3745
5.指定十六进制方法:
十六进制int1=7e5

虽然这里的输出没有加上前导字符,
注意在Java使用不同进制的数值时,
需要加上相应的前导字符,
否则Java会当成十进制数。

5.其他

十进制的最大数是9,满10进1。
二进制的最大数是1,满2进1。
八进制的最大数是7,满8进1。
十六进制的最大数是15(F),满16进1,
由于10-15会和阿拉伯数字混淆,
所以使用A-F替代。

对于二进制,没有必要想太复杂,
把它当成一种特殊的十进制即可,
同样可以进行加减乘除,
最左边的数值是最高位,
最右边的数值是最低位,
数值可以有正负(+-)。

Java左移操作,相当于进行乘法,
左移一位,乘一次2。
Java右移操作,相当于进行除法,
右移一位,除一次2。

最新文章

  1. [转]HTML5 本地图片预览
  2. Android Loader使用详解
  3. 数据结构和算法 c#– 1.单项链表
  4. 使用Let's Encrypt手动创建https证书
  5. HDU----(4291)A Short problem(快速矩阵幂)
  6. 基于Spring MVC的Web应用开发(三) - Resources
  7. iOS:获取图片Alpha图片
  8. 手把手 学习Git
  9. 分贝块---dBblock
  10. Java对象引用/JVM分级引用——强引用、软引用、弱引用、虚引用
  11. P1119 灾后重建(floyd进阶)
  12. Oracle 11g OGG mgr定期清理tail 文件
  13. Ubuntu软件中心闪退
  14. IDEA从SVN中导入多模块项目
  15. PHP之获取终端用户IP
  16. git安装及git命令的用法
  17. RPM安装命令总结
  18. linux minitools+minicom 安装及使用
  19. 分形之龙形曲线(Dragon Curve)
  20. UVA 10539 - Almost Prime Numbers(数论)

热门文章

  1. Largest Rectangle in Histogram及二维解法
  2. Mave 下载与安装
  3. 使用beanFactory工厂实例化容器的方式实现单例模式
  4. 【Linux】【RedHat】下载 安装 注册
  5. Markdown随时记录
  6. 攻击科普:DDos
  7. MySQL信息系统函数
  8. bcloud_bctf_2016
  9. HGAME pwn ROP_LEVEL2
  10. CF1438A Specific Tastes of Andre 题解