当前位置: 首页 > article >正文

【Java 基础(人话版)】进制转换

进制的简单介绍

整数可以使用四种不同的进制表示方式:

  1. 二进制 (Binary):由 0 和 1 组成,满 2 进 1,以 0b0B 开头表示。
  2. 十进制 (Decimal):由 0-9 组成,满 10 进 1,是最常用的数值表示方式。
  3. 八进制 (Octal):由 0-7 组成,满 8 进 1,以数字 0 开头表示。
  4. 十六进制 (Hexadecimal):由 0-9 和 A(10)-F(15) 组成,满 16 进 1,以 0x0X 开头表示,字母 A-F 不区分大小写。

进制的图示

下面是一个包含十进制、二进制、八进制和十六进制的进制转换表(从 0 到 10):

十进制 (Dec)二进制 (Bin)八进制 (Oct)十六进制 (Hex)
0000000
1000111
2001022
3001133
4010044
5010155
6011066
7011177
81000108
91001119
10101012A

进制转换示例及计算方法

进制转换示例及计算方法


1. 二进制转换成十进制

规则:从最低位(右边)开始,将每个位上的数提取出来,乘以 2 的 (位数 - 1) 次方,然后求和。

示例:将 0b1011 转换为十进制:

0b1011 = 1 * 2^0 + 1 * 2^1 + 0 * 2^2 + 1 * 2^3

= 1 + 2 + 0 + 8 = 11

0b1011 = 11₁₀


2. 八进制转换成十进制

规则:从最低位(右边)开始,将每个位上的数提取出来,乘以 8 的 (位数 - 1) 次方,然后求和。

示例:将 0234 转换为十进制:

0234 = 4 * 8^0 + 3 * 8^1 + 2 * 8^2

= 4 + 24 + 128 = 156

0234 = 156₁₀


3. 十六进制转换成十进制

规则:从最低位(右边)开始,将每个位上的数提取出来,乘以 16 的 (位数 - 1) 次方,然后求和。

示例:将 0x23A 转换为十进制:

0x23A = 10 * 16^0 + 3 * 16^1 + 2 * 16^2

= 10 + 48 + 512 = 570

0x23A = 570₁₀


4. 十进制转换成二进制

规则:不断将该数 除以 2,直到商为 0 为止,然后将每步得到的余数 倒序排列,即为对应的二进制数。

示例:将 34 转换为二进制:

余数
34 ÷ 2 = 170
17 ÷ 2 = 81
8 ÷ 2 = 40
4 ÷ 2 = 20
2 ÷ 2 = 10
1 ÷ 2 = 01

倒序排列余数:100010,即 34₁₀ = 0b100010


5. 十进制转换成八进制

规则:不断将该数 除以 8,直到商为 0 为止,然后将每步得到的余数 倒序排列,即为对应的八进制数。

示例:将 131 转换为八进制:

余数
131 ÷ 8 = 163
16 ÷ 8 = 20
2 ÷ 8 = 02

倒序排列余数:203,即 131₁₀ = 0203₈


6. 十进制转换成十六进制

规则:不断将该数 除以 16,直到商为 0 为止,然后将每步得到的余数 倒序排列,即为对应的十六进制数。

示例:将 237 转换为十六进制:

余数
237 ÷ 16 = 1413 (D)
14 ÷ 16 = 014 (E)

倒序排列余数:ED,即 237₁₀ = 0xED₁₆


7. 二进制转换成八进制

规则:从低位开始,将二进制数每 3 位一组,转换成对应的八进制数。

示例:将 0b11010101 转换为八进制:

  1. 分组(从右往左,每 3 位一组):

    11(3) 010(2) 101(5)
    
  2. 转换:

    11₂ = 3₈, 010₂ = 2₈, 101₂ = 5₈
    

结果:0b11010101 = 0325₈


8. 二进制转换成十六进制

规则:从低位开始,将二进制数每 4 位一组,转换成对应的十六进制数。

示例:将 0b11010101 转换为十六进制:

  1. 分组(从右往左,每 4 位一组):

    1101(D) 0101(5)
    
  2. 转换:

    1101₂ = D₁₆, 0101₂ = 5₁₆
    

结果:0b11010101 = 0xD5₁₆


9. 八进制转换成二进制

规则:将八进制数每 1 位,转换成对应的 3 位二进制数

示例:将 0237 转换为二进制:

  1. 2₈ = 010₂
  2. 3₈ = 011₂
  3. 7₈ = 111₂

结果:0237₈ = 0b10011111


10. 十六进制转换成二进制

规则:将十六进制数每 1 位,转换成对应的 4 位二进制数

示例:将 0x23B 转换为二进制:

  1. 2₁₆ = 0010₂
  2. 3₁₆ = 0011₂
  3. B₁₆ = 1011₂

结果:0x23B₁₆ = 0b001000111011


http://www.kler.cn/a/585472.html

相关文章:

  • 爬虫基础之爬取豆瓣同城信息(保存为csv excel 数据库)
  • 【计算机网络】第八版和第七版的主要区别,附PDF
  • Chatbox通过百炼调用DeepSeek
  • Qt项目中集成第三方模块的.pri文件
  • hadoop集群配置-ssh无密登陆
  • 数据结构-栈(详解)
  • 【瞎折腾/Dify】使用docker离线部署Dify
  • Unity中解锁图片像素点,动态闭合轨迹检测
  • 【2025】基于python+django的慢性病健康管理系统(源码、万字文档、图文修改、调试答疑)
  • LeeCode题库第643题
  • [目标检测] 训练之前要做什么
  • 【深度学习|目标检测】YOLO系列anchor-based原理详解
  • SpringBoot旅游管理系统的设计与实现
  • [Java]栈 虚拟机栈 栈帧讲解
  • 蓝桥每日打卡--查找有序数组中的目标值
  • kotlin与MVVM的结合使用总结(二)
  • 工业三防平板AORO-P300 Ultra,开创铁路检修与调度数字化新范式
  • python多种数据类型输出为Excel文件
  • 【模块化编程】数据标签 转 独热编码
  • SSL 和 TLS 认证