详细讲解,进制转换

简介: 详细讲解,进制转换

特殊的十进制转换(整数)

一、十进制转换为其他进制

1.常规方法:

----->个人总结:其实所有进制都是从十进制来的,因为人类一开始就是对十进制敏感,其他进制都是根据所需,通过辗转相除法得到的!!!进入正题:------> 思考: 我们如何得到一个十进制的每一位的?<------

------>> 答案<<------

  • 其实,在十进制得到每一位时就相当于发生了十进制转化为十进制的过程!

我们就这样类推-------->不难可以得出:

a.十进制转换为其他进制(设为M进制):

b.只需要不断地除以M,在模上M,直到最后除出的结果为0,表示结束。(具体过程如上图哈)

c.最后再逆序输出。

注意: 这里适用于所有进制哈,大家可以自己尝试尝试八进制,十六进制等等哈!


2.进阶方法:

我们上面的的常规方法可以完成很多转换,但是如果数字很大的话,我们的转换是不是会很吃力呢,比如数字是2022,要除以2可能要重复很多次,这种方法效率不高。

但在此前我们要了解权重: 所以我建议大家先看完 (二、其他进制转换为十进制)

  • 所以我们就要继续思考:
    ----->用2050举个例子<-----

如果我想把2022转换为二进制,我这边不用不断的除以2,相反我们去用2n来接近2050,这里我们就可以发现211=2048,这里我们就可以在二进制的第十二位上写1;再通过2050-2048=2;再用2去找,发现正好是 21 所以只需要在第二位写1;其他位补充0就可以了。

二、其他进制转换为十进制

谈到进制转化,涉及到 权重问题

权重问题 基数

  • 数码的个数。比如二进制数的基数为2。十进制数的基数为10。十六进制数的基数为 16。
  • 位权 位即位置、权即是权重,数字中每一个位置对应的单位值称为位权,也就是不同进制里的“1”在不同的位置上所代表的值。

例如 十进制第2位的位权为101,第3位的位权为102;而二进制第2位的位权为21,第3位的位权为22。那么我们可以得出,某位置上的数码对应的值等于数码乘以位权。位数=次数+1;

可以这样去理解:位权是数码在某个位置上的步进,在不同位上步进大小不一样,高位大低位小。

60ebe1fd3c33ef4e1c38a643b64e6cb7_d60a56446517430f82c1f1e569bd2503.png

二进制的特殊转换(整数)

  • 为什么说二进制也是特殊转换呢,因为是人类与计算机的对话
  • 举个例子说明:就是 人 生下来就有十根手指,所以一开始就对十进制很敏感;而计算机呢,是通过地址线的高电压和低电压(就是1或者0)存储信息,所以计算机就对二进制比较敏感;但二进制过于冗长,所以我们显示出来一般用二进制的四次方的十六进制来表示(这里也对后文有铺垫)所以我就认为二进制和十进制相对而言比较特殊。

一、二进制转换为其他进制

  • 在这里说明下,二进制直接转换的进制是受到限制的,比如二进制是无法直接转换为六进制的,但二进制是可以直接转换为八进制和十六进制,大家思考一下是为什么呢?


解答:1.因为二进制和十六进制都是十进制通过辗转相除法的得到的,并且我们可以理解为二进制是十六进制的详细版本,十六进制在辗转相除法的时候相当于直接运用了处理了4次的二进制辗转相除。(一个除16=2* 2* 2 *2,一个除以2)所以这里就不难理解十六进制的一位数对应着二进制的四位数,同理,八进制一位也就对应着二进制的三位数。2.但六进制与二进制并没有这样直接的关系,所以无法直接转换。

c5d76eff38f50dc40eabbec0696700be_0c50313b142048a5a933119367cf26b8.png

----->八进制转换也是同样的道理,这里就不再举例子了


二、其他进制转换为二进制

  • 有了上面的基础,我们可以把其他进制转换为二进制当成上述的逆运算,直接先来个例子吧:

总结一下:

1.先找关系判断是否能直接转换(是否存在进制之间的次方关系)

2.根据关系进行分组,确认比例,四次方---->二进制四个数对应十六进制一个数。(分组转换时是从右向左,不足四位左边补0)

3.每组对应转换即可。

任意进制的转换(整数)

特殊桥梁转换

  • 通过上面的学习我们已经知道了特殊的十进制的转换,也就是说我们其实已经可以得出一种方法进行进制的任意转换------通过十进制搭桥梁------从而得到所需要的进制。这个方法想法很简单,就不过度讲解了哈。

如:八进制---->十六进制====八进制---->十进制---->十六进制

十进制与二进制的转换(浮点数)

一、十进制转换为其他进制

假如我们需要M进制转换为十进制,只需要小数部分乘以M取整,顺序输出。(这里题干一般有精度要求)

二、其他进制转换为十进制

这里就分成了整数部分和小数部分,两个部分分开计算,但原理都是相通的。

都是该部分的每一位数乘以权重的和,这里不止是二进制哦,其他进制也是如此!

结语:如果能够有幸帮到友友,不要忘了一键三连哈,你的支持,是我最大的动力!一起加油!!!

相关文章
十进制与二进制、八进制、十六进制之间的互相转换,本文让你全部理清
十进制与二进制、八进制、十六进制之间的互相转换,本文让你全部理清
1889 0
十进制与二进制、八进制、十六进制之间的互相转换,本文让你全部理清
|
11月前
|
消息中间件 安全 Java
云消息队列RabbitMQ实践解决方案评测
一文带你详细了解云消息队列RabbitMQ实践的解决方案优与劣
269 108
|
10月前
|
监控 数据可视化 搜索推荐
6 款办公软件对比评测:谁在团队项目可视化管理中脱颖而出?
本文深入评测了6款办公软件,包括板栗看板、Trello、Asana、Monday.com、ClickUp和Wrike,重点分析了它们在团队项目可视化精细管理中的功能特性与优势。板栗看板以其直观的界面、便捷的任务操控、高效的团队协作和精准的数据洞察,成为中小团队快速实现项目管理可视化的理想选择。其他软件也各有千秋,适合不同规模和需求的团队使用。
236 1
|
11月前
|
人工智能 算法 搜索推荐
通义灵码在Python项目开发中的应用实践
通义灵码在Python项目开发中的应用实践
324 0
|
10月前
|
前端开发 API UED
React 图片轮播 Carousel:从入门到进阶
本文介绍了在 React 中实现图片轮播(Carousel)的方法,从基础安装和配置 `react-slick` 开始,逐步讲解了常见问题如图片路径、性能优化、自定义样式和交互处理,以及高级话题如动态数据加载和响应式设计。通过详细示例,帮助开发者避免易错点,提升轮播图的用户体验。
247 3
|
11月前
|
API 数据库 开发者
Flask:Python的轻量级Web框架
Flask:Python的轻量级Web框架
285 2
|
11月前
|
机器学习/深度学习 人工智能 人机交互
智能语音识别:重塑人机交互的新纪元###
【10月更文挑战第18天】 想象一下,轻声细语间,机器便能懂你心意,这是科幻电影的桥段,也是智能语音识别技术为我们描绘的现实蓝图。本文将带您穿越语音识别的奇妙世界,从它的历史长廊漫步至前沿技术的应用场域,一探究竟这项技术如何在教育、医疗、家居等领域大放异彩,同时审视其面临的挑战与未来可能的突破方向。这不仅是一场技术的旅行,更是对未来生活的一次憧憬。 ###
131 1
|
Java Maven
Java系列之:GroupId和ArtifactId的作用
这篇文章解释了在Maven项目中`GroupId`和`ArtifactId`的含义和作用,其中`GroupId`通常由域和自定义域名组成,用于区分组织或公司,而`ArtifactId`是项目或模块的名称,两者结合用于唯一标识项目包,确保不会与他人的项目包重复。
|
JavaScript 定位技术 API
js使用高德地图进行地点标注
使用高德地图进行地点标注可以采用以下步骤:
369 0
|
安全 Java Linux
ElasticSearch第四讲:ES详解:ElasticSearch和Kibana安装
ElasticSearch第四讲:ES详解:ElasticSearch和Kibana安装
499 0