傻傻分不清的进制与进制转换

简介: 傻傻分不清的进制与进制转换

这里是三岁,为您白话解析,最通俗易懂的语言解决那些傻傻分不清的问题,好的,我们就开始吧!


进制



我们在平时的生活中经常可以听见什么二进制十进制等奇奇怪怪的东西,那么什么是进制呢?


进制就是进位计数制。

说简单点就是满几进一。


十进制:满10进一,有0-9一共10个数,满10就进一。

六十进制:满60进一,就是我们的闹钟,时间就是类似于60进制。


常见进制



我们常见的进制有二进制八进制十进制十六进制


进制 内容 说明 举例
二进制 0-1 满二进一 10110
八进制 0-7 满八进一 76571
十进制 0-9 满十进一 10010
十六进制 0-9,A-F 满十六进一 1ABF



进制转换



十进制转其他进制(整数)


十进制与其他进制转换一般采用余数逆序排列法

例如:十进制转换为二进制:


2021061314305573.png


白话解析:

就是除以需要转换的进制值,然后每次取余数,最后把余数结果反向输出就是对应的值,经过验证就可以得到结果是否正确。


查看八进制转换和十六进制转换


20210613142845210.png20210613142815278.png


其他的以此类推。唯一需要特别说明的是十六进制


十进制转其他进制(小数)


上面整数使用除法,这里的小数使用乘法。


使用乘系取整 正向排序法

小数部分乘以要转换的进制数取整数部分,正向排序


2021061317092359.png


也就是先乘以


特殊的十六进制


由于我们习惯使用十进制,对于十六进制的使用不习惯所以对于一些地方有不了解的,接下来进行说明。


首先十六进制由那些数据组成:


0-9A-F

下表是他们的对应关系:


十进制 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
十六进制 0 1 2 3 4 5 6 7 8 9 A B C D E F


也就是10以后的数值用字母来表示


其他进制转换成十进制


通用法


按权相加

就是根据每一位的权重进行相加

以小数点开始,小数点前一位为0,后面为-1以此类推

举例:

二进制:1010.001


二进制 1 0 1 0 . 0 0 1
对应权重 23 22 21 20 . 2-1 2-2 2-3
权重代表的值 8 4 2 1 . 0.5 0.25 0.125



所有的对照表就和这个一样,那么有了对照表要怎么做呢?

权重对应的值乘积相加。


上面的例子所示:

1 * 23+0 * 22+1 * 21+0 * 20+0 * 2-1+0 * 2-2+1 *2-3

8+2+(1/8)=10.125

八进制:17.1


二进制 1 7 . 1
对应权重 81 80 . 8-1


1* 81+7 * 80+1 * 8-1 = 8+7+0.125=15.125

其他的可以以此类推


二进制中间转义法


十六进制和八进制的相互转换比较麻烦,使用十进制为介质计算量巨大容易出问题。这个时候就出现了使用二级制作为介质的办法


八进制和二进制转换


使用的是以小数点为分界线,二进制小数点前每3位进行一次分割,不足3个的往前补足。二进制小数点后面也是每3位进行一次分割,不足3位的后面补足。

每3位通过421的顺序转换为一位


二进制 000 001 010 011 100 101 110 111
八进制 0 1 2 3 4 5 6 7


通过上面的对照表进行划分就可以得到对应的值


例如:

101 | 100 | 010 . 100

5 | 4 | 2 . 4


二进制:101100010.1对应的八进制就是542.4

同理八进制转换为二进制也一样。每一个八进制值转换为3个二进制值。


例如八进制:165.3

二进制:001 | 110 | 101 . 011

即结果是1110101.011


十六进制和二进制转换


和八进制类似,以小数点为分界二进制小数前每4位进行一次分割,不足的前面补0,小数点后面每4位一分割,不足的后面补0 。


image.png


根据上面的对照表就可以进行查找

二进制:1001110110.101

划分: 0010 | 0111 | 0110 . 1010

对照表格:2 7 6 . A

十六进制就是:276.A


十六进制转二进制同理

每一位数字转换成对应的四位数值

例:十六进制ACBD5.4A

查表得:1010 | 1100 | 1011 | 1101 | 0101 . 0100 | 1010

对应的二进制:1010 1100 1011 1101 0101 . 0100101


八进制和十六进制转换


八进制和十六进制转换没有什么捷径需要通过二进制或十进制进行介质转换,建议使用二进制。


进制说明


就是有些开发者还是对这个进制有误解


二进制中2就是10

八进制中8就是10

十进制中10就是10

十六进制中16就是10,10就是A

注:以上的2,8,10,16均为十进制。


这里是三岁,进制转换就先到这里了,有啥问题可以留言或提出私信,如果好的话可以点赞关注,记得一键三连哦~~

目录
相关文章
|
22天前
|
算法 测试技术
进制算法题(进制转换、Alice和Bob的爱恨情仇)
进制算法题(进制转换、Alice和Bob的爱恨情仇)
|
22天前
|
存储 C++
【软件设计师备考 专题 】数制基础:二进制、十进制和十六进制的理解与转换
【软件设计师备考 专题 】数制基础:二进制、十进制和十六进制的理解与转换
14 1
|
22天前
|
算法 搜索推荐 程序员
C语言第二十六练 实现罗马数字转整数
C语言第二十六练 实现罗马数字转整数
36 0
|
22天前
|
机器学习/深度学习 C语言
c语言编程练习题:7-47 二进制的前导的零
c语言编程练习题:7-47 二进制的前导的零
20 0
|
6月前
|
C语言
C语言第三十二弹---打印整数二进制的奇数位和偶数位
C语言第三十二弹---打印整数二进制的奇数位和偶数位
|
7月前
|
C语言
【C语言航路外传】进制转换
【C语言航路外传】进制转换
32 0
|
11月前
|
测试技术
经典例题:十六进制转换十进制详解 适合初学者
经典例题:十六进制转换十进制详解 适合初学者
256 0
|
12月前
蓝桥杯基础训练】十六进制转八进制
给定n个十六进制正整数,输出它们对应的八进制数。
58 0
|
12月前
|
存储 C语言
【C语言_复习_学习第二课】什么是进制?进制之间应该如何转换
什么是进制?在我们的生活中处处充满进制,一天是24个小时、一个小时是60分钟、一分钟是60秒、一个星期一共7天........还有大家听说过半斤八两这个词语吗?也就是说买半斤东西也就是八两,一斤也就是十六两,满16进一位这就是十六进制。我今天就当一次小学老师来考考你,5+8等于多少(我没有在和大家开玩笑)你会说等于13,你的回答就是十进制也就是满十进一,而在计算机中数字都是以二进制(只有1和0)存储的也就是满二进一位,当然也有八进制(从0到7)、十六进制(从0到F)都是类似的,八进制满八进一位,十六进制满十六进一位(其中十六进制10用A来表示,11-B、12-C、13-D、14-E、15-F)
85 0
|
12月前
|
算法 C语言
【基础算法】浅浅刷个小题 # 移动零 # 丢失的数字 # 转换成小写字母 # 和为零的N个不同整数 # 猜数字 #
【基础算法】浅浅刷个小题 # 移动零 # 丢失的数字 # 转换成小写字母 # 和为零的N个不同整数 # 猜数字 #