傻傻分不清的进制与进制转换
这里是三岁,为您白话解析,最通俗易懂的语言解决那些傻傻分不清的问题,好的,我们就开始吧!
进制
我们在平时的生活中经常可以听见什么二进制
、十进制
等奇奇怪怪的东西,那么什么是进制呢?
进制就是进位计数制。
说简单点就是满几进一。
十进制:满10进一,有0-9一共10个数,满10就进一。
六十进制:满60进一,就是我们的闹钟,时间就是类似于60进制。
常见进制
我们常见的进制有二进制
、八进制
、十进制
、十六进制
等
进制 | 内容 | 说明 | 举例 |
---|---|---|---|
二进制 | 0-1 | 满二进一 | 10110 |
八进制 | 0-7 | 满八进一 | 76571 |
十进制 | 0-9 | 满十进一 | 10010 |
十六进制 | 0-9,A-F | 满十六进一 | 1ABF |
进制转换
十进制转其他进制(整数)
十进制与其他进制转换一般采用余数逆序排列法
例如:十进制转换为二进制:
白话解析:
就是除以需要转换的进制值,然后每次取余数,最后把余数结果反向输出就是对应的值,经过验证就可以得到结果是否正确。
查看八进制转换和十六进制转换
其他的以此类推。唯一需要特别说明的是十六进制
十进制转其他进制(小数)
上面整数使用除法,这里的小数使用乘法。
使用乘系取整 正向排序法
小数部分乘以要转换的进制数取整数部分,正向排序
也就是先乘以
特殊的十六进制
由于我们习惯使用十进制,对于十六进制的使用不习惯所以对于一些地方有不了解的,接下来进行说明。
首先十六进制由那些数据组成:
0-9
和A-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 。
二进制 | 十六进制 |
---|---|
0000 | 0 |
0001 | 1 |
0010 | 2 |
0011 | 3 |
0100 | 4 |
0101 | 5 |
0110 | 6 |
0111 | 7 |
1000 | 8 |
1001 | 9 |
1010 | A |
1011 | B |
1100 | C |
1101 | D |
1110 | E |
1111 | F |
根据上面的对照表就可以进行查找
二进制: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均为十进制。
这里是三岁,进制转换就先到这里了,有啥问题可以留言或提出私信,如果好的话可以点赞关注,记得一键三连哦~~