目录
0.前言
1.数字系统的由来
非位置化数字系统
位置化数字系统
2.进制原理介绍
(一)二进制 (BIN)
(二)八进制 (OCT)
(三)十进制 (DEC)
(四)十六进制 (HEX)
3.进制转换
进制转换表
整数/小数转换
1、二进制、八进制、十六进制转换为十进制
2、十进制转换为二进制、八进制、十六进制
3、八进制、十六进制转换为二进制
4.二进制转换为八进制、十六进制
5、八进制与十六进制的转换
0.前言
- 写这篇博客的首要原因是因为我大一刚刚开学时,这个进制转换的问题把身边好多同学都弄的十分头疼,但其实 这是计算机最基本且易于理解的知识了,如果不能把这些知识内容学好,那往后学习编程又或者计组原理时就只能干瞪眼了!
- 俗话说得好:⭐️【底层基础决定上层建筑】⭐️
- 作为一个合格的程序员,那些底层且基础的知识是需要牢牢掌握并且融会贯通才行。
- 你可以不用,但是不能不会!
如果您对于C语言感兴趣话的可以看看我之前写的这篇【C语言总结篇】
好了我们长话短说,现在就开始进行介绍叭!
1.数字系统的由来
原始时代的人类,为了维持生活必须每天外出狩猎和采集果实,但有时他们满载而归,有时却一无所获;带回的食物有时富余,有时却不足果腹。生活中这种数与量上的变化,使原始人类逐渐产生了“数”的意识。在那个时候,他们开始了解有与无、多与少的差别,进而知道了一和多的区别,然后从多到二、三等单个数目概念的形成。
在日常生活中,他们用小石子检查放牧归来的羊的只数;用结绳的方法统计猎物的个数;用在木头上刻道的方法记录捕鱼的数量等等。这些原始的计数方法表明:人类很早就产生了一一对应的思想。
久而久之人类发现这种形式的计数方式有很大的弊端,所以不同地方的人就发明了更加先进的数数方法,那就是用不同的符号来表示不同的数字。这就包括了我们要说的:
非位置化数字系统 和 位置化数字系统 。
非位置化数字系统
罗马数字

位置化数字系统
二进制 | 八进制 | 十进制 | 十六进制
- 同样一个人,出现在不同的位置表示不同的职责,出现在保安位置,主管位置,经理位置
- 同样一个数字符号3,出现在不同的位置表示的数量不同,出现在个位,十位,百位,千位
- 不同位置的数字符号,表示不同的数量,叫做 位置化数字系统
在位置化数字系统的眼里,任何的数字,采用任何的进制,都可以用以下这条公式抽象出来,概括出来:

而数字所表达的值,计算方式如下:

例:
以十进制为例,789,处于第三位的【7】所表示的值应该是【3】,很明显这个理解是错的,但是该如何理解呢?

“数字符号7”用S2表示,它处于位置 2,并不是位置 3,表示的值为 7 * 10^2 =700
看到这里是不是有点头绪了呢?
2.进制原理介绍
(一)二进制 (BIN)
以 2 为基数代表系统的二进位制。这一系统中,通常用两个不同的符号 0(代表零)和 1(代表一)来表示。我们目前所用的有关数字电路的产品如计算机等都是应用的二进制进行存储和运算。

注:低位和相邻高位之间的进位关系是:“逢二进一”, 故称为二进制。
(二)八进制 (OCT)
八进制数的每一位有 0~7 八个不同的数码,在二进制数中,计数的基数为 8。

注:低位和相邻高位之间的进位关系是:“逢八进一”, 故称为 八进制。
(三)十进制 (DEC)
在十进制数中,每一位有0-9十个数码,所以计数的基数是 10,而超过9的数必须用多位数表示。

注:低位和相邻高位之间的关系是:“逢十进一”,故称为 十进制。
(四)十六进制 (HEX)
十六进制数的每一位有十六个不同的数码,分别用0~9.A(10)、B(11) .C(12)、D(13)、E(14)、P(15)表示。在十六进制数中,计数的基数为16。

注:低位和相邻高位之间的进位关系是:“逢十六进一”, 故称为 十六进制。
3.进制转换
进制转换表

整数/小数转换
1、二进制、八进制、十六进制转换为十进制
都可根据上述介绍十进制的时候讲解的——多位任意进制数展开式的普遍形式进行转换,即按位权展开式。
2、十进制转换为二进制、八进制、十六进制
(1)十进制转二进制的转换原理:除以2,反向取余数,直到商为0终止。
例:35(十进制)→ 1100(二进制)
注:将所有得到的余数最终逆序输出,则为该十进制对应的二进制数。
(2)十进制转八进制的转换原理:除以8,反向取余数,直到商为0终止。
例:796(十进制)→ 1434(八进制)
注:将取得的所有余数逆序输出,则为该十进制对应的八进制数。
(3)十进制转十六进制的转换原理:除以16,反向取余数,直到商为0终止。
例:796(十进制)→ 31c(十六进制)
注1:将取得的所有余数逆序输出,则为该十进制对应的十六进制数。
注2:十六进制数是由0-9和A-F(或者a-f)组成的,A相当于十进制中的10,B相当于11,依次类推,F相当与15,上述事例中取得的余数12即为十六进制中的c
3、八进制、十六进制转换为二进制
(1)八进制转换为二进制原理:八进制数的一位是二进制数的三位
例:52.43(八进制) → 101 010. 100 011(二进制)
(2)十六进制数转换成二进制原理:十六进制数的一位是二进制数的四位
例:8F6.C6(十六进制) → 1000 1111 1010.1100 0110(二进制)
4.二进制转换为八进制、十六进制
(1)二进制转换成八进制的原理:“三合一” 取二进制数中的三位合为八进制数的一位
(2)二进制转换成十六进制的原理:“四合一” 取二进制数中的四位合为十六进制数的一位
5、八进制与十六进制的转换
这两者之间的转换可以借助十进制或者二进制完成,可以先将八进制转换成十进制或二进制,再转换成十六进制。通过间接转换来实现。
看到此处,希望我的文章对你有所帮助,嘿嘿!
如有错误,欢迎评论区留言指正!









版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/29832.html