Java二、八、十、十六进制介绍
1.说明
在Java中整数有四种表示方式,
分别为十进制,二进制,八进制,十六进制,
其中十进制就是平常最熟悉,使用最多的进制;
二进制是在计算机中使用最多的进制,
八进制和十六进制都是基于二进制的,
3位二进制数组成1位八进制数,
4位二进制数组成1位十六进制数,
所以二进制,八进制,十六进制互相转换很方便。
2.四种方式表示整数
- 十进制(Decimal):0-9 , 满10进1。
- 二进制(Binary): 0、1 ,满2进1,以0b或0B开头。
- 八进制(Octal): 0-7 , 满8进1, 以数字0开头表示。
- 十六进制(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。
Java二、八、十、十六进制介绍的更多相关文章
- “全栈2019”Java第八十二章:嵌套接口能否访问外部类中的成员?
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第八十九章:接口中能定义内部类吗?
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第八十八章:接口中嵌套接口的应用场景
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第八十五章:实现接口中的嵌套接口
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第八十四章:接口中嵌套接口详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第八十七章:类中嵌套接口的应用场景(拔高题)
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第八十三章:内部类与接口详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第八十一章:外部类能否访问嵌套接口里的成员?
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- 实验03——java十进制转二、八、十六进制;打印'中'的十六进制;进制转换的api
package cn.tedu.demo; /** * @author 赵瑞鑫 E-mail:1922250303@qq.com * @version 创建时间:2020年7月16日 上午10:22: ...
- Java设计模式(十二) 策略模式
原创文章,同步发自作者个人博客,http://www.jasongj.com/design_pattern/strategy/ 策略模式介绍 策略模式定义 策略模式(Strategy Pattern) ...
随机推荐
- Docker 生产环境之配置容器 - 自动启动容器
原文地址 Docker 提供了重启策略,以控制容器在退出时是否自动启动,或在 Docker 重新启动时自动启动.重启策略可确保链接的容器以正确的顺序启动.Docker 建议使用重启策略,并避免使用流程 ...
- Spring 与 SpringBoot 的区别
概述 Spring 与 SpringBoot 有什么区别???梳理一下 Spring 和 SpringBoot 到底有什么区别,从 Spring 和 SpringBoot 两方面入手. Spring ...
- maven管理本地jar包
maven作为包管理工具,好处不必多说.但是有些情况,比如需要引入第三方包,如快递鸟,支付宝,微信等jar包(当然有可能直接提供maven依赖),如果直接下载到本地之后,怎么整合到自己的maven工程 ...
- axios使用步骤详解(附代码)
Axios是一个基于Promise的 HTTP 库,可以用在浏览器和node.js 中,因为尤大大的推荐,axios也变得越来越流行.最近项目中使用axios也遇到了一些问题,就借此机会总结一下,如有 ...
- BS版本的TCP程序
// 使用Socket对象中的方法getInputStream,获取到网络字节输入流InputStream对象 InputStream is = socket.getInputStream();// ...
- numpy基础教程--clip函数的使用
在numpy中,clip函数的原型为clip(self, min=None, max=None, out=None),意思是把小于min的数全部置换为min,大于max的数全部置换为max,在[min ...
- Linux入侵 反弹shell
目录 一.简介 二.命令 三.NetCat 一.简介 黑入服务器很少会是通过账号密码的方式进入,因为这很难破解密码和很多服务器都做了限制白名单. 大多是通过上传脚本文件,然后执行脚本开启一个端口,通过 ...
- Java(运算符)
运算符 Java语言支持的运算符: 算术运算符:+,-,*,/,%(取余.求余)[模运算],++(自增),--(自减) 赋值运算符:= 关系运算符:>,<,>=(大于等于),< ...
- Log4j2再发新版本2.16.0,完全删除Message Lookups的支持,加固漏洞防御
昨天,Apache Log4j 团队再次发布了新版本:2.16.0! 2.16.0 更新内容 默认禁用JNDI的访问,用户需要通过配置log4j2.enableJndi参数开启 默认允许协议限制为:j ...
- MySQL 面试题汇总(持续更新中)
COUNT COUNT(*) 和 COUNT(1) 根据 MySQL 官方文档的描述: InnoDB handles SELECT COUNT(*) and SELECT COUNT(1) opera ...