详细讲解,进制转换

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

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

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

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取整,顺序输出。(这里题干一般有精度要求)

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

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

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

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

相关文章
|
6月前
二进制和进制转换
二进制和进制转换
85 0
|
15天前
十进制转换为八进制
【10月更文挑战第27天】十进制转换为八进制。
55 23
|
15天前
二进制转换为十进制
【10月更文挑战第27天】二进制转换为十进制。
54 8
|
15天前
八进制转换为二进制
【10月更文挑战第27天】八进制转换为二进制。
38 8
|
15天前
二进制转换为八进制
【10月更文挑战第27天】二进制转换为八进制。
32 7
|
15天前
十进制转换为二进制
【10月更文挑战第27天】十进制转换为二进制。
27 7
|
15天前
八进制转换为十进制
【10月更文挑战第27天】八进制转换为十进制。
30 2
|
6月前
|
C语言
进制转换间的那点事
进制转换间的那点事
|
6月前
|
存储
【二进制转换】十进制 转 二进制 (含相关题型)
【二进制转换】十进制 转 二进制 (含相关题型)
77 0