首页
/
行业洞察
/
正文
INDUSTRY INSIGHT · 深度
【Java基础知识】进制转换
📅 2026/11/5 8:44:51
✍️ 爱科研究院
👁 阅读 3,247
文章目录一、进制的基本概念二、二进制与十进制的相互转换1. 十进制转二进制2. 二进制转十进制三、八进制与其他进制的转换1. 二进制与八进制的转换①二进制转八进制②八进制转二进制2. 八进制与十进制的转换①八进制转十进制②十进制转八进制四、十六进制与其他进制的转换1. 二进制与十六进制的转换①二进制转十六进制②十六进制转二进制2. 十六进制与十进制的转换①十六进制转十进制②十进制转十六进制五、Java 中进制的表示与转换1. 不同进制的表示方法2. 进制转换的 API 方法摘要本文系统讲解计算机中进制的基本概念与相互转换方法。首先介绍二进制、八进制、十六进制与十进制的基数及存在意义随后详细演示二进制与十进制、八进制、十六进制之间的转换包括按权展开求和法、除基取余法以及分组换算技巧并配有完整计算示例最后结合 Java 语言说明不同进制字面量的表示方式0b、0、0x 前缀以及Integer.toBinaryString、Integer.toOctalString、Integer.toHexString、Integer.parseInt等内置 API 的使用。适合初学者快速掌握进制转换原理与 Java 实战应用。一、进制的基本概念在计算机科学中进制是表示数字的方式不同的进制使用不同的基数基数指进位计数制中所使用的数字符号的个数二进制基数为 2只使用 0 和 1 两个数字逢 2 进 1计算机底层存储的基础八进制基数为 8使用 0-7 八个数字逢 8 进 1十六进制基数为 16使用 0-9 和 A-F或 a-f十六个符号逢 16 进 1A10, B11, …, F15十进制基数为 10使用 0-9 十个数字逢 10 进 1人类日常使用的计数方式为什么需要多种进制二进制是计算机的底层语言计算机只有高低两种电平只能识别 0 和 1。但纯二进制数字极长读写、复制极易出错。八进制和十六进制是二进制的简化表示形式能大幅缩短数字长度每 3 位二进制对应 1 位八进制每 4 位二进制对应 1 位十六进制转换非常方便。进制互转无计算损耗分组即可快速换算大幅缩短数字长度方便程序员阅读调试。二、二进制与十进制的相互转换1. 十进制转二进制二进制的概念及十进制转二进制2. 二进制转十进制二进制转十进制采用按权展开求和法即每一位数字乘以 2 的对应次方次方从右往左从 0 开始计数然后将所有结果相加。示例 1将二进制0011转换为十进制计算过程 0011 (2) 1×2⁰1×2¹ 0×2² 0×2³ 1×1 1×2 0 0 3(10)三、八进制与其他进制的转换八进制是二进制的简化形式每 3 位二进制数对应 1 位八进制数这使得它们之间的转换非常高效。1. 二进制与八进制的转换①二进制转八进制转换步骤将二进制数从右往左每 3 位分为一组不足 3 位的在左边补 0每组 3 位二进制数对应 1 位八进制数000-111 对应 0-7组合所有结果得到八进制数示例将二进制10110101转换为八进制:分组从右往左10 110 101 → 补0后为 010 110 101 对应关系 010 → 2 110 → 6 101 → 5 组合结果265(8) 即10110101(2) 265(8)②八进制转二进制转换步骤将八进制的每一位数字转换为对应的 3 位二进制数去除前导零可选根据需要保留组合所有二进制数得到结果示例将八进制141转换为二进制计算过程 对应关系 1(8) 001(2) 4(8) 100(2) 1(8) 001(2) 组合结果001100001(2) → 简化为1100001(2)2. 八进制与十进制的转换①八进制转十进制采用按权展开法每一位数字乘以 8 的对应次方次方从右往左从 0 开始计数然后求和。示例将八进制141转换为十进制计算过程 141(8) 1×8⁰ 4×8¹ 1×8² 1×1 4×8 1×64 1 32 64 97(10)②十进制转八进制采用除 8 取余法不断用 8 整除该数记录每次的余数直到商为 0最后将余数从后往前排列。示例将十进制97转换为八进制计算过程 97 ÷ 8 12 余数 1 12 ÷ 8 1 余数 4 1 ÷ 8 0 余数 1 余数倒序排列141 结果97(10) 141(8)四、十六进制与其他进制的转换十六进制是最常用的二进制简化形式每 4 位二进制数对应 1 位十六进制数广泛应用于编程领域。1. 二进制与十六进制的转换①二进制转十六进制转换步骤将二进制数从右往左每 4 位分为一组不足 4 位的在左边补 0每组 4 位二进制数对应 1 位十六进制数0000-1111 对应 0-F组合所有结果得到十六进制数示例 将二进制01100001转换为十六进制分组从右往左0110 0001 对应关系 0110(2) 6(16) 0001(2) 1(16) 组合结果61(16)②十六进制转二进制转换步骤List item将十六进制的每一位数字转换为对应的 4 位二进制数去除前导零可选根据需要保留组合所有二进制数得到结果示例将十六进制61转换为二进制对应关系 6(16) 0110(2) 1(16) 0001(2) 组合结果01100001(2) → 简化为1100001(2)2. 十六进制与十进制的转换①十六进制转十进制采用按权展开法每一位数字乘以 16 的对应次方次方从右往左从 0 开始计数然后求和。示例 1将十六进制 61 转换为十进制计算过程 61(16) 1×16⁰ 6×16¹ 97(10)示例 2将十六进制FA转换为十进制plaintext 计算过程 FA(16) 10×16⁰ 15×16¹ F15, A10 250(10)②十进制转十六进制采用除 16 取余法不断用 16 整除该数记录每次的余数10-15 分别用 A-F 表示直到商为 0最后将余数从后往前排列。示例将十进制250转换为十六进制计算过程 250 ÷ 16 15 余数 10 → A 15 ÷ 16 0 余数 15 → F 余数倒序排列FA 结果250(10) FA(16)五、Java 中进制的表示与转换Java 程序支持直接使用二进制、八进制和十六进制表示整数并能自动转换为十进制输出。1. 不同进制的表示方法在 Java 中不同进制的数字有特定的前缀标识二进制以0b或0B开头八进制以0开头十六进制以0x或0X开头代码示例publicclassVariableDemo1{publicstaticvoidmain(String[]args){printVariable();}publicstaticvoidprintVariable(){//程序中可以直接写进制数据System.out.println(--------二进制转为十进制--------);inti10b01100001;//二进制 97System.out.println(i1);System.out.println(--------八进制转为十进制--------);inti20141;//八进制 97System.out.println(i1);System.out.println(--------十六进制转为十进制--------);;inti30x61;//十六进制 97inti40xFA;//十六进制 250System.out.println(i3);System.out.println(i4);}}2. 进制转换的 API 方法Java 提供了内置方法用于进制转换publicclassNumberConversion{publicstaticvoidmain(String[]args){intnum97;// 十进制转其他进制System.out.println(十进制num转二进制: Integer.toBinaryString(num));// 1100001System.out.println(十进制num转八进制: Integer.toOctalString(num));// 141System.out.println(十进制num转十六进制: Integer.toHexString(num));// 61// 其他进制转十进制intfromBinaryInteger.parseInt(1100001,2);// 二进制转十进制intfromOctalInteger.parseInt(141,8);// 八进制转十进制intfromHexInteger.parseInt(61,16);// 十六进制转十进制System.out.println(二进制1100001转十进制: fromBinary);// 97System.out.println(八进制141转十进制: fromOctal);// 97System.out.println(十六进制61转十进制: fromHex);// 97}}
📌 标签:
工业官网
设计趋势
AI 建站
SEO
获取完整报告 →
RELATED ARTICLES
推荐阅读
2026/11/5 8:44:51
【Java基础知识】字面量与变量
2026/11/5 8:44:51
kafka--基础知识点--0
2026/11/5 8:39:50
S120速度精度差排查指南:编码器信号与速度环调参实战
2026/11/5 11:05:22
雪球动态 | 雪球数智受邀参加 SILA-Matter 技术培训,深度解析量产难题与 OBIS 方案
2026/11/5 10:40:18
用Python打造个人命令行工具集:CLI-Anything实战解析
2026/11/5 10:40:18
基于Nios II软核的FPGA电子钟设计与软硬协同实现
2026/11/5 10:40:18
工业测温方案解析:ADS122U04与STM32F042K6的UART高精度RTD采集设计
2026/11/5 10:40:18
STM32L031+ADS122U04:UART接口24位ADC实现PT100高精度温度采集
2026/11/5 10:40:18
基于ADS122U04与MK24的HVAC高精度温度采集系统设计
2026/11/5 0:03:36
多智能体协作系统架构设计与实践优化
2026/11/5 0:03:36
大模型系统性入门实战指南:从原理到部署微调的全链路路线
2026/11/5 0:03:36
鸿蒙文件系统沙箱机制解析与开发实践
2026/11/5 4:22:50
面向复杂光照与角度的宠物面部识别鲁棒性增强策略
2026/11/5 4:22:44
DRV8818PWPR与R7FA8M1AHECBD工业步进驱动实战指南
2026/11/5 4:22:38
STM32与DRV8818双极步进电机驱动方案:从选型到调试全流程解析
2026/11/5 4:22:50
面向复杂光照与角度的宠物面部识别鲁棒性增强策略
2026/11/5 4:22:44
DRV8818PWPR与R7FA8M1AHECBD工业步进驱动实战指南
2026/11/5 4:22:38
STM32与DRV8818双极步进电机驱动方案:从选型到调试全流程解析