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

整型有4种进制形式:
1.十进制: 都是以0-9这九个数字组成,不能以0开头。
2.二进制: 由0和1两个数字组成。
3.八进制: 由0-7数字组成,为了区分与其他进制的数字区别,开头都是以0开始。
4.十六进制:由0-9和A-F组成。为了区分于其他数字的区别,开头都是以0x开始。

# @Author : 小红牛
# 微信公众号:wdPython

先来贴一张进制转换表:
在这里插入图片描述
一、十进制转换为二进制、八进制、十六进制
整数转换
1、十进制转二进制
(1)十进制转二进制的转换原理:除以2,反向取余数,直到商为0终止。
(2)具体做法:将某个十进制数除2得到的整数部分保留,作为第二次除2时的被除数,得到的余数依次记下,重复上述步骤,直到整数部分为0就结束,将所有得到的余数最终逆序输出,则为该十进制对应的二进制数。
例如:9(十进制)→1001(二进制)
在这里插入图片描述
2、十进制转八进制
(1)转换原理:除以8,反向取余数,直到商为0终止。

(2)具体步骤与二进制一样

例如:十进制数796转换成八进制数:
将796除8取得第一个余数为4,将除8得到的整数部分99作为第二次的被除数,重复上述步骤,直至最终整数部分为0就结束。将取得的所有余数逆序输出
则为:796–>1434
在这里插入图片描述
3、十进制转十六进制
(1)转换原理:除以16,反向取余数,直到商为0终止。
(2)具体步骤也和二进制、八进制一样,重复上述做法即可得到十六进制数。
例如:十进制数796转换为十六进制数
即为:796–>31c
需要注意的是,十六进制数是由0-9和A-F(或者a-f)组成的,A相当于十进制中的10,B相当于11,依次类推,F相当与15,上述事例中取得的余数12即为十六进制中的c

总结:以上几种进制的整数部分转换原理都是除进制数取余数,倒序输出

再来贴一张小数部分进制表
在这里插入图片描述
小数部分转换
1、十进制转二进制
(1)原理:十进制小数转换成二进制小数采用 “乘2取整,顺序输出” 法。

例题: 0.68D = ______ B(精确到小数点后5位)
如下所示,0.68乘以2,取整,然后再将小数乘以2,取整,直到达到题目要求精度。得到结果:0.10101B.
例如:十进制小数0.68转换为二进制数
具体步骤:
0.68* 2=1.36 -->1
0.36* 2=0.72 -->0
0.72* 2=1.44 -->1
0.44* 2=0.88–>0
0.88* 2=1.76 -->1
已经达到了题目要求的精度,最后将取出的整数部分顺序输出即可
则为:0.68D–>0.10101B

2、十进制转八进制
(1)原理:十进制小数转换成八进制小数采用 “乘8取整,顺序输出” 法。

(2)思路和十进制转二进制一样,参考如下例题:

例题: 10.68D = ______ Q(精确到小数点后3位)
解析:如下图所示,整数部分除以8取余数,直到无法整除。小数部分0.68乘以8,取整,然后再将小数乘以8,取整,直到达到题目要求精度。得到结果:12.534Q.

例如:十进制数10.68转换成八进制数,分为整数部分和小数部分求解
步骤:
(1)整数部分
10/8=1 -->2
1/8=0 -->1
倒序输出为12
(2)小数部分
0.68* 8=5.44 -->5
0.44* 8=3.52 -->3
0.52* 8=4.16 -->4
已经达到了题目要求的精度,即可结束
则小数部分为:0.68–>0.534
因此10.68D -->12.534Q

3、十进制转十六进制
(1)原理:十进制小数转换成十六进制小数采用 “乘16取整,顺序输出” 法。
(2)思路也是一样的,就不重复了
例题: 25.68D = ______ H(精确到小数点后3位)

解析:如下图所示,整数部分除以16取余数,直到无法整除。小数部分0.68乘以16,取整,然后再将小数乘以16,取整,直到达到题目要求精度。得到结果:19.ae1H.
(1)整数部分
25/16=1 -->9
1/16=0 -->1
倒序输出为:19
(2)小数部分
0.68* 16=10.88 -->a(即十进制中的10)
0.88* 16=14.08 -->e
0.08* 16=1.28 -->1
已经达到了要求的精度,顺序输出为:ae1
则:25.68D -->19.ae1H

总结:小数部分转换原理都是乘进制数取整数部分,再将整数部分顺序输出。

二、 二进制、八进制、十六进制转换为十进制
在这里插入图片描述
2、三者转换原理都是一样的
在这里插入图片描述
小数部分转换
1、二进制转十进制
(1)原理:整数部分按上述进行操作即可,小数部分从小数点后一位指数为-1开始算起,以后依次为-2、-3……
(2)具体运用以及步骤举例说明:
在这里插入图片描述
2、八进制转十进制
(1)原理:整数部分操作以及运算不变,小数部分同二进制类似,将2改为8即可
(2)具体步骤方法如下:

例如:八进制数72.45转换成十进制数
步骤:
(1)整数部分:
7* 8^1+ 2* 8 ^0=58
(2)小数部分
4* 8^(-1) + 5* 8^(-2)=0.5+0.078125=0.578125
则为:72.45 -->58.578125

3、十六进制转十进制
(1)原理:整数运算一样,小数部分换成16即可
(2)具体方法步骤如下:
例:1A6.3B8=1* 16^2+A* 16 ^1+6* 16 ^0 +3* 16 ^(-1)+B* 16 ^(-2)+8* 16 ^(-3) =422.232422

总结:以上二进制、八进制、十六进制转换为十进制当中的整数部分从右往左指数从0开始递增,小数部分从左往右从-1开始递减,原理都是一样的。

三、 二进制转换成八进制数、十六进制数
1、二进制转换成八进制
原理:“三合一” 取二进制数中的三位合为八进制数的一位

2、二进制转换成十六进制
原理:“四合一” 取二进制数中的四位合为十六进制数的一位

例子说明:

二进制数1010 0100B转换成八进制数为244Q
在这里插入图片描述

二进制数1010 0100B转换成十六进制数为:a4H
在这里插入图片描述

四、八进制、十六进制转换成二进制
1、八进制数转换成二进制
原理:八进制数的一位是二进制数的三位

2、十六进制数转换成二进制
原理:十六进制数的一位是二进制数的四位

在这里插入图片描述

五、八进制与十六进制之间的转换
这两者之间的转换可以借助十进制或者二进制完成,可以先将八进制转换成十进制或二进制,再转换成十六进制。通过间接转换来实现。

以上就是所有常用进制转换,包括整数部分和小数部分,已经是很详细了,个人觉得通过例子来理解是最好的方法,记住进制转换的一些原理和规律,换成其他进制也是一样的用。关于进制转换问题是比较基础的,所以一定要掌握哦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/185548.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

聚类算法的算法原理

聚类算法是机器学习中常用的一种无监督学习方法,其主要目标是将数据集划分为具有相似特征的组或簇。这种算法在数据挖掘、模式识别、社交网络分析等领域有着广泛的应用。聚类算法的核心思想是通过计算数据点之间的相似度或距离,将相似的数据点聚集在一起…

WordPress 粘贴图片上传插件

找了很久,发现一款不错的插件,允许我们直接粘贴图片文件并且上传到媒体库。以前的插件上传后媒体库不会显示,这个要显示。 启用后编辑器会有一个图标,如果开启,那么久可以截图后直接粘贴了。 学习资料源代码&#xf…

Servlet在使用工厂缓存factory 文本上传报错

因为我没有E盘 我试了一下txt文件是可以的上传,说明我txt很小 很小文件就不用缓存. 原本是这样: DiskFileItemFactory factory new DiskFileItemFactory(); //设置文件缓存目录,如果该目录不存在则新创建一个3 File f new File("E:\\TempFolder"); if…

TR转发路由器测评—云企业网实现跨地域跨VPC的网络互通测评实战【阿里云产品测评】

文章目录 一.转发路由器 Transit Router 测评1.1 准备阶段1.2 本文测评收获1.3 什么是云企业网实例、转发路由器实例和云数据传输服务 二.使用云企业网实现跨地域跨VPC的网络互通2.2 **测试连通性**2.3 网络拓扑如下: 心得:总结: 声明&#x…

Armbian安装python环境和pip国内源

文章目录 安装python环境配置pip为国内源 安装python环境 更新软件包列表: sudo apt update安装 Python 3(通常是最新版本): sudo apt install python3验证 Python 安装是否成功: python3 --version运行上述命令后&…

Linux系列:Linux上杀毒软件有哪些?

Linux上杀毒软件有哪些? 前言:软件Linux开源防病毒引擎ClamAV前言: Linux平台上的杀毒软件不如Windows平台上那么普及,因为Linux操作系统本身设计得就比较安全,而且不容易感染病毒。但是随着技术的进步和恶意软件增多,Linux平台上的安全软件也越来越多,以下是一些Linux…

如何设定目标-SMART原则

1 SMART原则 SMART原则是一种目标设定和管理的方法 1.1 S:specific 明确的 具体的 错误:我想财富自由 (只能算是一个愿望) 正确:攒1000个W 1.2 M:measurable 可衡量的 攒1000个W,如果攒了500个,则目标完成50% 1.3 A:achieva…

基于SpringBoot房屋租赁系统

摘 要 社会的发展和科学技术的进步,互联网技术越来越受欢迎。网络计算机的生活方式逐渐受到广大人民群众的喜爱,也逐渐进入了每个用户的使用。互联网具有便利性,速度快,效率高,成本低等优点。 因此,构建符…

JSON.stringify方法详解 后端接受JSON数据格式

1、方法定义:JSON.stringify(value, replacer, space) 参数说明: value:js对象 replacer:替换对象,可以是一个方法、对象或数组,将value按照替换规则展示。 space:填充参数,可以是数…

Python排序算法大比拼:快速排序 VS 归并排序

更多资料获取 📚 个人网站:ipengtao.com 快速排序和归并排序是两种常见的排序算法,在Python中有着重要的应用。本文将深入探讨这两种算法的原理和实现,并提供丰富的示例代码来说明它们的工作方式。 快速排序算法 def quicksort…

NSSCTF第13页(3)

[FSCTF 2023]巴巴托斯! 看见个输入路径,打了半天没进去,php伪协议也打不进去, 用dirsearch扫一下 看了半天才看出来,那串英文 Access Denied! I love FSCTF Browser 是要用FSCTF浏览器,改一下ua头就行了…

数字图像处理(实践篇)十二 基于小波变换的图像降噪

目录 一 基于小波变换的图像降噪 (1)小波变换基本理论 (2)小波分析在图像处理中的应用 (3)小波变换原理 (4)小波降噪原理 (5)小波降噪算法的实现 &…

K8S时代的JAVA_OPTS参数

问题 最近Spring要住到k8s的pod里面去了,导致原来的JAVA_OPTS配置方式,不能那么大开大合了。这里假设使用的Java 8. 原来的JAVA_OPTS参数: JAVA_OPTS"-server -Xms6g -Xmx6g -XX:UseG1GC -XX:MaxGCPauseMillis20 -XX:InitiatingHeapOc…

OpenSSL库名称修改方法

patchelf --set-soname libxxxssl.so.1.1 libssl.so.1.1 //修改动态库soname patchelf --set-soname libxxxcrypto.so.1.1 libcrypto.so.1.1 mv libcrypto.so.1.1 libxxxcrypto.so.1.1 mv libssl.so.1.1 libxxxssl.so.1.1 patchelf --replace-needed libcrypto.so.1.1 libxxxcr…

vsVode C++开发远程虚拟机工程配置

在使用VS Code进行C/C的开发过程中,有三个至关重要的配置文件,分别是 tasks.json, launch.json 和 c_cpp_properties.json 1. tasks.json tasks.json 是在 vscode 中辅助程序编译的模块,可以代你执行类似于在命令行输入 “gcc hello.c -o h…

解决webpack打包生成gz格式css/js文件没法在nginx使用的问题--全网唯一正确

本文绝对是全网解决这个问题唯一正确的文章,没有之一! 很多人都说开启nginx gzip压缩,这些人完全是胡说八道!你们到底懂不懂叫gzip压缩啊?! 不信你就试试,如果css/js只有gz文件,ng…

排序分析(Ordination analysis)及R实现

在生态学、统计学和生物学等领域,排序分析是一种用于探索和展示数据结构的多元统计技术。这种分析方法通过将多维数据集中的样本或变量映射到低维空间,以便更容易理解和可视化数据之间的关系。排序分析常用于研究物种组成、生态系统结构等生态学和生物学…

中伟视界:AI盒子中的报警预录像功能能解决什么问题?实现原理是怎样的?

现代社会智能安防已成为各行各业的重要一环,而AI盒子中的报警预录像功能更是智能安防的一大利器。这一功能能够解决很多安防方面的难题,其实现原理更是技术创新的体现。 首先,让我们来看看AI盒子中的报警预录像功能能解决哪些问题。在传统的安…

Prosys OPC Client连接OPC DA

Prosys OPC Client连接OPC DA Prosys OPC 客户端将帮助排除 OPC 连接故障并测试 OPC 服务器。 您可以读写数据、浏览服务器以及导出和导入地址空间。 OPC 客户端轻巧、快速且易于使用。 支持 OPC DA 1.0a 和 OPC DA 2.05a 官方地址: https://www.prosysopc.com/products/opc-…

《开箱元宇宙》:Madballs 解锁炫酷新境界,人物化身系列大卖

你是否曾想过,元宇宙是如何融入世界上最具代表性的品牌和名人的战略中的?在本期的《开箱元宇宙》 系列中,我们与 Madballs 的战略顾问 Derek Roberto 一起聊聊 Madballs 如何在 90 分钟内售罄 2,000 个人物化身系列,以及是什么原…