进制介绍
「进位制」是一种记数的方式,也被称为「进位记数法/位值计数法」,可以用有限的数字或者字母来代表所有的数值,可使用的数字符号称为基数(radix),基数为n,即可称n进位制,简称n进制。离我们最近的就是阿拉伯数字的十进制,它就是使用0~9进行记数,所以他的基数就是10,称为十进制
但是在计算机的世界,计算机的语言就是二进制,计算机能够识别二进制数据,其他数据并不能直接识别,紧接着我就会总结几个比较重要的进制之间的转换,不着急,我先一一解释有哪些进制
十进制表示为:(2022)10
二进制表示为:(11111100110)2
八进制表示为:(3746)8
十六进制表示为:(7e6)16
右下角标的数字代表了是几进制,虽然表示各有不同,但是他们表示的数字都是一样的,都是2022
二进制
二进制由于表示简单,且运算简单等特点,是计算机技术中广泛运用的数制,它仅由0、1数字组成,运算的规则为“逢二进一”
为了区别其他进制,它通常用两种方式来表示,使用数字下标「2」或「B」
(10111111)2或(10111111B)
「二进制的特点有」(摘自知乎):
- 二进制数中只有两个数码0和1,可用具有两个不同稳定状态的元器件来表示一位数码。
- 二进制数运算简单,大大简化了计算中运算部件的结构。
- 二进制天然兼容逻辑运算。
八进制
八进制由0、1、2、3、4、5、6、7八个数字组成,运算规则为“逢八进一”
八进制也有两种方式来表达,在数字下标「8」或「O」
(3475)8或(3475O)
「八进制的特点有」(摘自知乎):由于二进制数据的基数R较小,所以二进制数据的书写和阅读不方便,为此,在小型机中引入了八进制。八进制的基数n=8=2^3,并且每个数码正好对应三位二进制数,所以八进制能很好地反映二进制。
十六进制
十六进制的引入也是由于二进制使用时位数过长、不容易记忆才诞生了十六进制
十六进制有16个基本数字,分别0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F,运算规则为“逢十六进一”。
十六进制也有两种表达方式,使用数字下标「16」或「H」或在最前面加上「0x」
(7ee5)16或(7ee5H)或(0x7ee5)
Tips:
进制的中英文表示:
- Binary -二进制
- Octal -八进制
- Hexadecimal -十六进制
- Decimal -十进制
进制间的转换
在上方了解常用的进制后,后面在实际工作钟我们可能在不同的场景用到不同的进制,就会涉及到进制的转换,接下来我从各大网站获取的资料并且总结了常用进制的转换方式
二进制
➡十进制
方法:按权展开相加
例题如图
注意:关于位权的顺序,由小数点为分界线,分别往两边开始计算位权
➡八进制
方法:1分3,并按权展开相加
例题如图
➡十六进制
方法:1分4,并按权展开相加
例题如图
八进制
➡二进制
方法:3合1,逆向利用按权展开相加
例题如图
➡十进制
方法:按权展开相加
例题如图
➡十六进制
方法:
- 先将八进制转换成二进制,再将二进制转换成十六进制(底下展示这种)
- 先将八进制转换成十进制,再将十进制转换成十六进制
十进制
方法:除基倒取余或乘基正取整
对于十进制,转换成2、8、16进制只有一种办法(除图标查询以及自动计算)
其中你需要转换的几进制中的几就是基数,例如转八进制,即基数为8,底下我只解释转为16进制
十六进制
➡二进制
方法:1分4,逆向按权展开相加
➡八进制
方法:
- 十六进制转化为二进制,再转化为八进制。
- 十六进制先转化为十进制,再转化为八进制。
具体方法均可以从该文档找到解决办法,这里不多做解释
➡十进制
方法:逆向按权展开相加
总结
- 我发现所有进制转为十进制的时候,根据你要转的进制用不同的权值,例如:16转10进制,那权值即为16,在按权展开相加时得用16的几次方来相乘。
- 最特殊的是十进制的转化,方法全为「除基倒取余或乘基正取整」
- 其次就是2进制与8、16进制一分3、4之间的关系,利用好按权展开相加的逆向用法,即可快速的求出相应进制的数字
然而进制往往不是这几种,根据不同的进制来进行计算,学无止境,大家一起加油吧!
附件
自动换算网址: 在线进制转换器 | 菜鸟工具
进制关系表:
该图摘自《计算机导论》(清华大学出版社第4版)
参考文档:一文带你读懂计算机进制 - 知乎
Comments NOTHING