用人话教会你各个进制的意思和进制间的转化!!!

       相信许多朋友在学习编程的时候搞不懂什么是二进制?什么是八进制?什么是十六进制? 那么接下来我将使用人话(通俗易懂的话语,最贴近生活的话)来使你懂得这些进制。

                ---------那么不废话,直接开始

目录

1.进制的概念

2.进制的基本介绍

3.进制间的转换

(1)二进制转十进制

(2)十进制转二进制(以125为例子)

(3)二进制转八进制

(4)二进制转十六进制

总结:


1.进制的概念

        先以一个例子讲解:

如图:这是15这个数字用不同的进制来表示:

用人话教会你各个进制的意思和进制间的转化!!!_第1张图片

重点:进制,其实就是表示一个数字的不同表示方式而已(就好比表达“我爱你”这个句子,表达它的每种方言的声音可能都不相同,但是意思都是“我爱你”的意思)

2.进制的基本介绍

(1)对于二进制:组成的位数可能很多,但是每一位的数字只能是 0 或者 1 (可以以上边15的各个进制的图,理解一下)

(2)对于八进制:组成的位数也可能很多,但是每一位的数字只能是 0 ~ 7

(3)对于十进制:组成的位数也可能很多,但是每一位的数字只能是 0 ~ 9

(4)对于十六进制:组成的位数也可能很多,但是每一位的数字只能是 0 ~ 9 和 a~f

总结:从上边的基本介绍我们就可以看到出来,进制进制,就是满什么就进上一位,所以它所包含的数字最大就是进制减去一(例如:八进制,最大的数是 8 - 1 = 7),其他同理

        对于十六进制的解释:

        有朋友会说了,十六进制9后边为什么是 a 啊,不应该是10 ~ 15吗?这是设计者设计好的,所以我们就直接记住就可以了!(图解如下)

用人话教会你各个进制的意思和进制间的转化!!!_第2张图片

3.进制间的转换

(1)二进制转十进制

用人话教会你各个进制的意思和进制间的转化!!!_第3张图片

二进制转化为十进制就是将每一位乘上它的权重(从左到右分别为二的0次方,二的一次方,以此类推,如图),然后最后求出的每一个位相加求和最终变成十进制(8 + 4 + 2 + 1 = 15,所以1111的十进制为15)

(2)十进制转二进制(以125为例子)

用十进制的数字一直除以2,余数就写下来,商就继续除:(如图)

用人话教会你各个进制的意思和进制间的转化!!!_第4张图片

****当然我们也可以用二进制把十进制的125给凑出来,就是一位一位的用1 或者 0 乘上相应的权重凑出125****

(3)二进制转八进制

由于数字7(八进制的最大数为7)用二进制表示为111,所以每一个八进制的数字只需要三个二进制的1 或者 0 就可以表示,所以我们将一个二进制以三个为一个小单位,分割开来(如图)来计算八进制

用人话教会你各个进制的意思和进制间的转化!!!_第5张图片

注:从右向左以三个为一组划分,然后采用二进制转化为十进制的方式求出对应的数字,这次不需要相加了,把求出的数字排放在一起就是这个二进制数的八进制的表达形式(01101011的八进制为153)

那么八进制怎么转化成二进制呢?其实只用把每一位拆成二进制就可以(和十进制变成二进制一样) 

(4)二进制转十六进制

由于数字15(十六进制的最大数为15)用二进制表示为1111,所以每一个十六进制的数字只需要四个二进制的1 或者 0 就可以表示,所以我们将一个二进制以四个为一个小单位,分割开来(如图)来计算十六进制

用人话教会你各个进制的意思和进制间的转化!!!_第6张图片

注:从右向左以四个为一组划分,然后采用二进制转化为十进制的方式求出对应的数字(注意10~15是a b c d e f 哦),把求出的数字排放在一起就是这个二进制数的十六进制的表达形式(01101011的十六进制为6 b),其实和二进制转化位8进制一样,只不过是以四个为一组而已

总结:

        进制,其实就是表示一个数字的不同表示方式而已,希望我的文章能对你有些许帮助!!!

你可能感兴趣的:(c语言,学习,后端)