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

二进制、八进制、十进制、十六进制的转换

目录

  • 一、十进制与二进制的转换
    • 1.逢二进一法
    • 2.除二取余法
    • 3.java中赋值二进制使用0B或0b开头
  • 二、二进制与十进制的转换
  • 三、二进制与八进制的转换
    • 1.将二进制从左到右每3位进行分割计算八进制
    • 2.通过八进制倒推二进制再转换十进制
    • 3.八进制的最大值与最小值
    • 4.java中赋值八进制使用0开头
  • 四、二进制与十六进制的转换
    • 1.十六进制的最大值与最小值
    • 2.将二进制从左到右每4位进行分割计算十六进制
    • 3.通过十六进制倒推二进制再转换十进制
    • 4.java中赋值十六进制使用0x或0X开头

一、十进制与二进制的转换

1.逢二进一法

十进制转二进制计算思路

2.除二取余法

7的二进制:

7/2=3余1
3/2=1余1
1/2=0余1
从下往上组合:7的二进制为111

在这里插入图片描述

3.java中赋值二进制使用0B或0b开头

public class test {public static void main(String[] args) {//赋值二进制数据使用0b或0B开头int a = 0b111;System.out.println("0b111的十进制是:" + a);}//输出结果:0b111的十进制是:7

二、二进制与十进制的转换

在这里插入图片描述
说明:①二进制只有四位时,按从右到左的顺序:千位乘8 + 百位乘4 + 十位乘2 + 个位乘1的值等于十进制
②计算机最小存储单位为1字节(Byte),1字节=8比特位,当二进制不足8位时,从右到左将空位填充0,例如7:00000111

三、二进制与八进制的转换

1.将二进制从左到右每3位进行分割计算八进制

例如97的二进制:01100001,分割为01,100,001
将每一段*8421可得出97的八进制为:141
计算逻辑:01*8421=1,100*8421=4,001*8421=1

2.通过八进制倒推二进制再转换十进制

八进制:151
倒推二进制:1=1,5=101,1=001
倒推二进制结果:01101001
转换十进制:2^7*0 + 2^6*1 + 2^5*1 + 2^4*0 + 2^3*1 + 2^2*0 + 2^1*0 + 2^0*1
十进制结果:  0   +  64   +  32   +   0   +   8   +   0   +   0   +   1   = 105

3.八进制的最大值与最小值

最大值:二进制111=八进制4+2+1=7
最小值:二进制000=八进制0
八进制范围:0-7,共8位

4.java中赋值八进制使用0开头

public class test {public static void main(String[] args) {//赋值八进制使用0开头int a = 0151;System.out.println("0151的十进制是:" + a);}//输出结果:0151的十进制是:105
}

四、二进制与十六进制的转换

1.十六进制的最大值与最小值

最大值:二进制1111=十六进制8+4+2+1=15
最小值:二进制0000=十六进制0
十六进制范围:0-15,共16位,分别是0-9、A(10)、B(11)、C(12)、D(13)、E(14)、F(15)

2.将二进制从左到右每4位进行分割计算十六进制

例如182的二进制:10110110,分割为1011,0110
将每一段*8421可得出182的十六进制为:B6
计算逻辑:1011*8421=11=B,0110*8421=6

3.通过十六进制倒推二进制再转换十进制

十六进制:C1
倒推二进制:C=12,12=8+4,C=1100,1=0001
倒推二进制结果:11000001
转换十进制:2^7*1 + 2^6*1 + 2^5*0 + 2^4*0 + 2^3*0 + 2^2*0 + 2^1*0 + 2^0*1
十进制结果: 128   +  64   +  0   +   0   +   0   +   0   +   0   +   1   = 193

4.java中赋值十六进制使用0x或0X开头

public class test {public static void main(String[] args) {//赋值十六进制使用0x或0X开头int a = 0xC1;System.out.println("0xC1的十进制是:" + a);}//输出结果:0xC1的十进制是:193
}
http://www.dtcms.com/a/277408.html

相关文章:

  • 用 Node.js 构建模块化的 CLI 脚手架工具,从 GitHub 下载远程模板
  • HarmonyOS-ArkUI Web控件基础铺垫1-HTTP协议-数据包内容
  • 【基于开源大模型(如deepseek)开发应用及其发展趋势的一点思考】
  • 早期 CNN 的经典模型—卷积神经网络(LeNet)
  • 在Linux文件写入软件设计中,直接写入SSD时磁盘写入抖动(I/O延迟波动)的解决方案
  • [CH582M入门第六步]软件IIC驱动AHT10
  • Leetcode 3613. Minimize Maximum Component Cost
  • Vue文件上传实战指南
  • 深入理解 Linux 文件系统层级结构
  • Python 数据挖掘之数据探索
  • CCS-MSPM0G3507-7-模块篇-MPU6050的基本使用
  • Spring Boot 安全登录系统:前后端分离实现
  • MYSQL笔记1
  • 黑马点评系列问题之p63unlock.lua不知道怎么整
  • 嵌入式单片机开发 - Keil MDK 自定义 Output 与 Listing 输出
  • EtherCAT开源主站 SOEM 2.0 最新源码在嵌入式 Linux 下的移植与编译
  • 2025.7.13总结
  • 欧拉系统安装UKUI桌面环境
  • 无缝衔接直播流体验
  • Git Commit Message写错后如何修改?已Push的提交如何安全修复?
  • C#单例模式管理全局变量
  • 格密码–SIS问题,ISIS问题及nf-ISIS问题
  • linux中at命令的常用用法。
  • 基于关联规则优化的个性化推荐系统
  • 本地部署开源的网盘聚合工具 OpenList 并实现外部访问(Windows 版本)
  • LLM大模型微调技术全景:从IFT、SFT到RLHF、DPO与PPO强化学习
  • Python 协程(终止协程和异常处理)
  • 晋升指南-笔记
  • 登录模块的静态登录
  • 基于Redis Streams的实时消息处理实战经验分享