【Java 基础(人话版)】进制转换
进制的简单介绍
整数可以使用四种不同的进制表示方式:
- 二进制 (Binary):由 0 和 1 组成,满 2 进 1,以
0b或0B开头表示。 - 十进制 (Decimal):由 0-9 组成,满 10 进 1,是最常用的数值表示方式。
- 八进制 (Octal):由 0-7 组成,满 8 进 1,以数字
0开头表示。 - 十六进制 (Hexadecimal):由 0-9 和 A(10)-F(15) 组成,满 16 进 1,以
0x或0X开头表示,字母 A-F 不区分大小写。
进制的图示
下面是一个包含十进制、二进制、八进制和十六进制的进制转换表(从 0 到 10):
| 十进制 (Dec) | 二进制 (Bin) | 八进制 (Oct) | 十六进制 (Hex) |
|---|---|---|---|
| 0 | 0000 | 0 | 0 |
| 1 | 0001 | 1 | 1 |
| 2 | 0010 | 2 | 2 |
| 3 | 0011 | 3 | 3 |
| 4 | 0100 | 4 | 4 |
| 5 | 0101 | 5 | 5 |
| 6 | 0110 | 6 | 6 |
| 7 | 0111 | 7 | 7 |
| 8 | 1000 | 10 | 8 |
| 9 | 1001 | 11 | 9 |
| 10 | 1010 | 12 | A |
进制转换示例及计算方法
进制转换示例及计算方法
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 = 17 | 0 |
| 17 ÷ 2 = 8 | 1 |
| 8 ÷ 2 = 4 | 0 |
| 4 ÷ 2 = 2 | 0 |
| 2 ÷ 2 = 1 | 0 |
| 1 ÷ 2 = 0 | 1 |
倒序排列余数:100010,即 34₁₀ = 0b100010。
5. 十进制转换成八进制
规则:不断将该数 除以 8,直到商为 0 为止,然后将每步得到的余数 倒序排列,即为对应的八进制数。
示例:将 131 转换为八进制:
| 商 | 余数 |
|---|---|
| 131 ÷ 8 = 16 | 3 |
| 16 ÷ 8 = 2 | 0 |
| 2 ÷ 8 = 0 | 2 |
倒序排列余数:203,即 131₁₀ = 0203₈。
6. 十进制转换成十六进制
规则:不断将该数 除以 16,直到商为 0 为止,然后将每步得到的余数 倒序排列,即为对应的十六进制数。
示例:将 237 转换为十六进制:
| 商 | 余数 |
|---|---|
| 237 ÷ 16 = 14 | 13 (D) |
| 14 ÷ 16 = 0 | 14 (E) |
倒序排列余数:ED,即 237₁₀ = 0xED₁₆。
7. 二进制转换成八进制
规则:从低位开始,将二进制数每 3 位一组,转换成对应的八进制数。
示例:将 0b11010101 转换为八进制:
-
分组(从右往左,每 3 位一组):
11(3) 010(2) 101(5) -
转换:
11₂ = 3₈, 010₂ = 2₈, 101₂ = 5₈
结果:0b11010101 = 0325₈。
8. 二进制转换成十六进制
规则:从低位开始,将二进制数每 4 位一组,转换成对应的十六进制数。
示例:将 0b11010101 转换为十六进制:
-
分组(从右往左,每 4 位一组):
1101(D) 0101(5) -
转换:
1101₂ = D₁₆, 0101₂ = 5₁₆
结果:0b11010101 = 0xD5₁₆。
9. 八进制转换成二进制
规则:将八进制数每 1 位,转换成对应的 3 位二进制数。
示例:将 0237 转换为二进制:
2₈ = 010₂3₈ = 011₂7₈ = 111₂
结果:0237₈ = 0b10011111。
10. 十六进制转换成二进制
规则:将十六进制数每 1 位,转换成对应的 4 位二进制数。
示例:将 0x23B 转换为二进制:
2₁₆ = 0010₂3₁₆ = 0011₂B₁₆ = 1011₂
结果:0x23B₁₆ = 0b001000111011。
相关文章:
【Java 基础(人话版)】进制转换
进制的简单介绍 整数可以使用四种不同的进制表示方式: 二进制 (Binary):由 0 和 1 组成,满 2 进 1,以 0b 或 0B 开头表示。十进制 (Decimal):由 0-9 组成,满 10 进 1,是最常用的数值表示方式。…...
3DS模拟器使用(pc+安卓)+金手指+存档互传
1、引言 3ds模拟器已经能够在手机端近乎完美模拟了,那么多的3ds游戏,比玩手机游戏舒服多了。 本人是精灵宝可梦的老玩家,从第一世代就一直在玩,刚耍完NDS的第五世代,黑白系列。现在到宝可梦XY了,需要在3d…...
SpaceClaim二次开发(4)
目录 第五章 Storing Custom Data (存储自定义数据) 5.1 文档属性 5.2 自定义属性 5.3 属性传播 第六章 Identifying Objects in ACIS and Parasolid Files(识别ACIS和Parasolid文件中的对象) 6.1 导出期间的标识符 6.2 导入和…...
Leetcode3340:检查平衡字符串
题目描述: 给你一个仅由数字 0 - 9 组成的字符串 num。如果偶数下标处的数字之和等于奇数下标处的数字之和,则认为该数字字符串是一个 平衡字符串。 如果 num 是一个 平衡字符串,则返回 true;否则,返回 false。 代码…...
Java多线程基石—内存模型
Java Memory Model Java内存模型(JMM),定义了线程如何与内存交互及线程间的可见性、有序性和原子性。 JMM屏蔽了各种硬件和操作系统的访问差异,保证Java程序在各种平台下对内存的访问都能保证一致效果。 1 JMM 可见性 一个线程…...
ArcGIS助力水文分析:数据处理、地图制作与流域特征提取
在水文水环境保护中,对于信息的采集、处理和分析是关键步骤。水文水环境及其相关数据均具有空间分布特征,传统的方法难以发挥作用。地理信息系统(GIS)强大的空间数据管理和分析功能,在空间信息处理上有独到的优势&…...
从以太网 II 到 VLAN 和 Jumbo Frame:数据帧格式解读
以太网数据帧是计算机网络通信的基本单位,在不同的应用场景中,它的格式有所不同。根据协议标准和用途,以太网数据帧主要包括以太网 II 帧、IEEE 802.3 帧、IEEE 802.1Q VLAN 帧等七种主要类型。为了更好地理解以太网的通信机制,我…...
X86 RouterOS 7.18 设置笔记六:端口映射(IPv4、IPv6)及回流问题
X86 j4125 4网口小主机折腾笔记五:PVE安装ROS RouterOS X86 RouterOS 7.18 设置笔记一:基础设置 X86 RouterOS 7.18 设置笔记二:网络基础设置(IPV4) X86 RouterOS 7.18 设置笔记三:防火墙设置(IPV4) X86 RouterOS 7.18 设置笔记四…...
将 IPoIB 驱动修改为仅使用 RC 模式
摘要 本文档详细介绍了将 Linux 内核中的 IPoIB(IP over InfiniBand)驱动修改为仅使用 RC(Reliable Connection,可靠连接)模式,并移除所有与 TCP/IP 和以太网相关部分的方法。通过这些修改,可以优化 IPoIB 驱动以适应特定的高性能计算场景,提高数据传输的可靠性和效率…...
热修复框架Tinker与Robust原理剖析
热修复框架Tinker与Robust原理剖析 一、热修复技术概述 1.1 什么是热修复 热修复(Hot Fix)是Android平台上的一种动态修复机制,它允许应用在不重新发布版本的情况下,动态修复线上bug。这种技术对于快速修复线上问题、降低用户流…...
69.Harmonyos NEXT图片预览组件应用实践(二):电商、内容与办公场景
温馨提示:本篇博客的详细代码已发布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下载运行哦! Harmonyos NEXT图片预览组件应用实践(二):电商、内容与办公场景 文章目录 Harmonyos NEXT图片预览组件应用实践…...
C题库-判断水仙花数
【数据判断】 问题1:判断水仙花数,水仙花数是指一个三位数,其各位数字的立方和等于该数本身。 方法一: #include<stdio.h>int main(void){int num,Bit,Ten,Hundred;printf("Input a number:");scanf("%d&q…...
31.Harmonyos Next仿uv-ui 组件NumberBox 步进器组件异步操作处理
Harmonyos Next仿uv-ui 组件NumberBox 步进器组件异步操作处理 文章目录 Harmonyos Next仿uv-ui 组件NumberBox 步进器组件异步操作处理1. 组件介绍2. 效果展示3. 异步操作处理3.1 异步初始化3.2 异步值更新 4. 完整示例代码5. 知识点讲解5.1 异步操作基础5.2 异步操作中的状态…...
MIPI电平标准详解
一、MIPI电平的定义与核心特性 MIPI(Mobile Industry Processor Interface) 是由 MIPI联盟 制定的移动设备接口标准,涵盖摄像头(CSI)、显示屏(DSI)、射频(RFFE)等多个领…...
使用位运算实现加法、减法、乘法和除法
使用位运算实现加法、减法、乘法和除法是一个经典的计算机科学问题。位运算通常用于低级程序设计和性能优化中,以下是如何用位运算实现这些基本数学运算。 加法 加法可以通过以下步骤实现: def add(a, b):while b ! 0:# 使用异或得到不考虑进位的加法…...
深入解析Go语言Channel:源码剖析与并发读写机制
文章目录 Channel的内部结构Channel的创建过程有缓冲Channel的并发读写机制同时读写的可能性发送操作的实现接收操作的实现 并发读写的核心机制解析互斥锁保护环形缓冲区等待队列直接传递优化Goroutine调度 实例分析:有缓冲Channel的并发读写性能优化与最佳实践缓冲…...
mac安装python没有环境变量怎么办?zsh: command not found: python
在mac电脑上,下载Python安装包进行安装之后,在终端中,输入python提示: zsh: command not found: python 一、原因分析 首先,这个问题不是因为python没有安装成功的原因,是因为python安装的时候,没有为我们添加环境变量导致的,所以我们只需要,在.zshrc配置文件中加上环…...
使用DeepSeek制作可视化图表和流程图
用DeepSeek来制作可视化图表,搭配python、mermaid、html来实现可视化,我已经测试过好几种场景,都能实现自动化的代码生成,效果还是不错的,流程如下。 统计图表 (搭配Matplotlib来做) Python中的…...
jmeter-sample
jmeter-sample http request:接口测试常用请求参数ParametersBody DataFiles Upload jdbc request配置JDBC Connection Configuration创建JDBC Requst请求 http request:接口测试常用 请求参数 Parameters 常见于get请求,与拼在接口后面是一样的效果:如…...
C++之文字修仙小游戏
1 效果 1.1 截图 游戏运行: 存档: 1.2 游玩警告 注意!不要修改装备概率,装备的概率都是凑好的数字。如果想要速升,修改灵石数量 2 代码 2.1 代码大纲 1. 游戏框架与初始化 控制台操作:通过 gotoxy() …...
C++ vector 核心知识:常用操作与示例详解
在C编程中,vector 是标准模板库(STL)中最常用的容器之一。它以其动态数组的特性、高效的尾部操作和便捷的随机访问能力,成为处理动态数据的首选工具。无论是初学者还是经验丰富的开发者,掌握 vector 的使用方法和性能优…...
结构型模式之适配器模式:让不兼容的接口兼容
在软件开发中,经常会遇到这样一种情况:系统的不同部分需要进行交互,但由于接口不兼容,导致无法直接使用。这时,适配器模式(Adapter Pattern)就能派上用场。适配器模式是设计模式中的结构型模式&…...
从零开始探索C++游戏开发:性能、控制与无限可能
一、为何选择C开发游戏? 在虚幻引擎5渲染的次世代画面背后,在《巫师3》的庞大开放世界中,在《毁灭战士》的丝滑60帧战斗里,C始终扮演着核心技术角色。这门诞生于1983年的语言,至今仍占据着游戏引擎开发语言使用率榜首…...
使用mvn archetype命令,构建自定义springboot archetype脚手架创建工程的方法
使用mvn archetype命令,构建自定义springboot archetype脚手架创建工程的方法 文章目录 使用mvn archetype命令,构建自定义springboot archetype脚手架创建工程的方法一、背景二、环境三、archetype插件配置四、基于项目构建脚手架archetype包五、检查模…...
Hutool RedisDS:Java开发中的Redis极简集成与高阶应用
在Java开发中,Redis作为高性能内存数据库,广泛应用于缓存、分布式锁等场景。然而原生的客户端操作涉及连接管理、序列化等繁琐细节。Hutool工具包提供的RedisDS模块,通过高度封装显著简化了这一过程。本文从实战角度解析其核心特性与使用技巧…...
MacOS 15.3.1 安装 GPG 提示Error: unknown or unsupported macOS version: :dunno
目录 1. 问题锁定 2. 更新 Homebrew 3. 切换到新的 Homebrew 源 4. 安装 GPG 5. 检查 macOS 版本兼容性 6. 使用 MacPorts 或其他包管理器 7. 创建密钥(生成 GPG 签名) 往期推荐 1. 问题锁定 通常是因为你的 Homebrew 版本较旧,或者你…...
Sqlmap注入工具简单解释
安装 1. 安装 Python SQLMap 是基于 Python 开发的,所以要先安装 Python 环境。建议安装 Python 3.9 或更高版本,可从 Python 官方网站 下载对应操作系统的安装包,然后按照安装向导完成安装。 2. 获取 SQLMap 可以从 SQLMap 的官方 GitHu…...
硬件驱动——51单片机:独立按键、中断、定时器/计数器
目录 一、独立按键 1.原理 2.封装函数 3.按键控制点灯 数码管 二、中断 1.原理 2.步骤 3.中断寄存器IE 4.控制寄存器TCON 5.打开外部中断0和1 三、定时器/计数器 1.原理 2.控制寄存器TCON 3.工作模式寄存器TMOD 4.按键控制频率的动态闪烁 一、独立按键 1…...
语文-文言文
文章目录 短歌行归园田居梦游天姥吟留别 / 别东鲁诸公 学习文言文,适当个人分析; 短歌行 曹操 对酒当歌,人生几何(主题,人生很短暂); 譬如朝露,去日苦多(比喻,…...
P1259 黑白棋子的移动【java】【AC代码】
有 2n 个棋子排成一行,开始为位置白子全部在左边,黑子全部在右边,如下图为 n5 的情况: 移动棋子的规则是:每次必须同时移动相邻的两个棋子,颜色不限,可以左移也可以右移到空位上去,但…...
