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

【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

相关文章:

  • 【区块链】以太坊
  • 什么是云原生?
  • 前端主题切换架构设计方案
  • 蓝耘携手通义万象 2.1 图生视频:开启创意无限的共享新时代
  • 【软设中级】软件设计师中级专题复习:(专题二)程序语言部分
  • 从AI产品经理视角深度剖析Manus:技术、定位与商业化的三重跃迁
  • 如何快速检测光模块内部光纤裂纹?
  • C++ primer plus 类和对象下
  • 从头开始学C语言第二十三天——指针概念
  • MFC控件按钮的使用
  • 深入浅出消息队列 (MQ)
  • Java 断言(Assert)机制
  • pgAdmin 4汉化,设置界面为中文
  • 机器学习(七)
  • 太速科技-636-基于FMC的Kintex XCKU060高性能PCIe载板
  • LVI-SAM、VINS-Mono、LIO-SAM算法的阅读参考和m2dgr数据集上的复现(留作学习使用)
  • python广度优先搜索(BFS)算法
  • 16.使用读写包操作Excel文件:XlsxWriter 包
  • 《灵珠觉醒:从零到算法金仙的C++修炼》卷三·天劫试炼(47)乾坤图演路径 - 欧拉路径(Hierholzer 算法)
  • 完善机器人:让 DeepSeek 使用Vue Element UI快速搭建 AI 交互页面
  • 浙江省委金融办原副主任潘广恩被“双开”
  • 外企聊营商|武田制药:知识产权保护助创新药研发
  • 多地举办演唱会等吸引游客刺激消费,经济日报:引导粉丝经济理性健康发展
  • 党建评:对违规宴饮等问题要坚决露头就打
  • 人民日报民生观:转人工客服,怎么这么难?
  • 特朗普访问卡塔尔,两国签署多项合作协议