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

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

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


进制



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


进制就是进位计数制。

说简单点就是满几进一。


十进制:满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均为十进制。


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

目录
相关文章
|
C语言
C语言之十进制转化为十六进制
C语言之十进制转化为十六进制
151 0
|
5月前
用人话教会你各个进制的意思和进制间的转化!!!
用人话教会你各个进制的意思和进制间的转化!!!
|
6月前
|
存储 C++
【软件设计师备考 专题 】数制基础:二进制、十进制和十六进制的理解与转换
【软件设计师备考 专题 】数制基础:二进制、十进制和十六进制的理解与转换
83 1
|
6月前
|
算法 测试技术 C#
【位运算】【脑筋急转弯】2749. 得到整数零需要执行的最少操作数
【位运算】【脑筋急转弯】2749. 得到整数零需要执行的最少操作数
|
6月前
|
算法 搜索推荐 程序员
C语言第二十六练 实现罗马数字转整数
C语言第二十六练 实现罗马数字转整数
96 0
|
6月前
|
存储 算法 搜索推荐
C语言第二十七练 异或的运算规律
C语言第二十七练 异或的运算规律
59 0
|
6月前
|
机器学习/深度学习 C语言
c语言编程练习题:7-47 二进制的前导的零
c语言编程练习题:7-47 二进制的前导的零
58 0
|
C语言
【C语言航路外传】进制转换
【C语言航路外传】进制转换
60 0
|
算法 C语言
【基础算法】浅浅刷个小题 # 移动零 # 丢失的数字 # 转换成小写字母 # 和为零的N个不同整数 # 猜数字 #
【基础算法】浅浅刷个小题 # 移动零 # 丢失的数字 # 转换成小写字母 # 和为零的N个不同整数 # 猜数字 #
|
小程序 C语言
【C】C语言实现数字字母雨小程序
【C】C语言实现数字字母雨小程序