Java基础之二进制,八进制,十进制,十六进制相互转换

简介: Java基础之二进制,八进制,十进制,十六进制相互转换



前言

二进制,八进制,十进制,十六进制对于java程序员来说是最基础要求,而进制大家可能早就已经了解或者学会,本篇文章主要是对于已经遗忘或者正在学的小伙伴们一个快速入门,本不是很深入,适合快学会进制间的转换。


一、进制介绍

对于整数有四种表达方式:

  • 二进制:0,1,满2进1,以0b或0B开头。int n1=0b1010;
  • 十进制:0~9,满10进1。int n2=19;
  • 八进制:0~7,满8进1,以数字0开头。int n3=01010;
  • 十六进制:0~9,A (10) ~ F(15),满16进1,以0x或0X开头表示,此处A ~ F不区分大小写。int n3=0x10101;

二、进制转换

1.十进制转二进制,八进制,十六进制

方法:转几进制除几进制,取余数,倒叙书写。(不理解看下面步骤就懂了)

步骤如下(示例):

计算器结果,左边数据分别是十六进制,十进制,八进制,二进制。(十进制转为八进制,十六进制均是上述步骤,只不过除数不一样。)

大家可以用上述方法计算19转换为十六进制,八进制与下图对比,验证一下

2.二进制,八进制,十六进制转十进制

方法:n(n=2,8,16)进制转换十进制,该数字各位乘n的阶乘

步骤(示例):


3. 二进制转八进制,十六进制

(1)二进制转八进制

方法:三位一组,四二一

步骤(示例):

(2)二进制转十六进制

方法:四位一组,八四二一

步骤(示例):

4.十六进制,八进制转二进制

方法:与二进制,八进制转十六进制相反

(1)八进制转二进制

方法:一个数一位,找三位数组成

步骤(示例):023转二进制是010011(标准应该是0001 0011或者0b10011)

(2)十六进制转二进制

方法:一个数一位,找四位数组成

步骤(示例):0x27转二进制0010 0111

总结

以上就是今天要讲的内容,本文仅仅简单介绍了进制之间的转换,适合大家快速学会,希望大家多多支持!

相关文章
|
5月前
|
存储 Oracle Java
01 Java概述基础与计算机基础(DOS+进制+原码反码补码)
01 Java概述基础与计算机基础(DOS+进制+原码反码补码)
52 17
|
6月前
|
Java Apache Maven
Java:commons-codec实现byte数组和16进制字符串转换
在上述代码中,`Hex.encodeHexString(bytes)`用于将byte数组转换为16进制字符串,`Hex.decodeHex(hexString)`用于将16进制字符串转换为byte数组。
121 0
|
6月前
|
Java Apache Maven
Java:commons-codec实现byte数组和16进制字符串转换
在上述代码中,`Hex.encodeHexString(bytes)`用于将byte数组转换为16进制字符串,`Hex.decodeHex(hexString)`用于将16进制字符串转换为byte数组。
136 0
|
7月前
|
算法 Java Go
【经典算法】LeetCode 67. 二进制求和(Java/C/Python3/Golang实现含注释说明,Easy)
【经典算法】LeetCode 67. 二进制求和(Java/C/Python3/Golang实现含注释说明,Easy)
99 2
|
7月前
|
算法 Java
Java将16进制的字符串转换为10进制数的方法
【6月更文挑战第27天】Java将16进制的字符串转换为10进制数的方法
1965 0
|
7月前
|
Java
剑指offer_3_前n个数字二进制形式中1的个数(java)
剑指offer_3_前n个数字二进制形式中1的个数(java)
|
7月前
|
Java
剑指offer_2_二进制加法(java)
剑指offer_2_二进制加法(java)
|
7月前
|
Java
java实现字符串与十六进制字符串互转
java实现字符串与十六进制字符串互转
|
Java 算法
【Java学习笔记之四】java进制转化
十进制转成十六进制: Integer.toHexString(int i) 十进制转成八进制 Integer.toOctalString(int i) 十进制转成二进制 Integer.toBinaryString(int i) 十六进制转成十进制 Integer.
1030 0
|
11天前
|
Java
Java—多线程实现生产消费者
本文介绍了多线程实现生产消费者模式的三个版本。Version1包含四个类:`Producer`(生产者)、`Consumer`(消费者)、`Resource`(公共资源)和`TestMain`(测试类)。通过`synchronized`和`wait/notify`机制控制线程同步,但存在多个生产者或消费者时可能出现多次生产和消费的问题。 Version2将`if`改为`while`,解决了多次生产和消费的问题,但仍可能因`notify()`随机唤醒线程而导致死锁。因此,引入了`notifyAll()`来唤醒所有等待线程,但这会带来性能问题。
Java—多线程实现生产消费者