目录
一、进制的由来
进制:就是进位制,对于X进制,就是逢X进1; 例:日常生活中的十进制,逢十进一.
1.二进制的由来:
计算机硬件中有电子元器件,而电子元器件的状态有两种(开和关).而我们的数据也是用这两种状态位来进行表示的.
如果使用两个状态位(即电子元器件)表示,就只有4种情况!而日常数据里有数字,字符,字母等各种,淡淡用两个状态位来表示根本就不够用吖!于是国际化组织就规定了使用8个这样的状态位来表示一个数据,也就形成了1个字节.所以计算机中对数据的存储的最小单位是字节!
(1byte = 8bit; 1k = 1024byte; 1m = 1024k; 1g = 1024m; 1t = 1024g)
使用这样的电子元器件表示数据看起来很直观,但用起来就非常不方便.咱们要存个数据还得画这种开关图,想想都觉得忒麻烦!于是就有聪明的人使用1,0来表示开和关的状态.(如下图:)
0和1就是这样来的啦,这也就是现在咱们接触的二进制.
二进制的数据表现形式: 由0,1组成.以0b开头(1.7版本开始的,b可大写)
二进制表示的数据显示出来的数据形式很长(例:上图中二进制形式的数据0b10110011),于是就对此作出了进一步的优化,形成了8进制.
2.八进制的由来
将图中的二进制数据(10110011)从右往左进行分组,每三个为一组,不够的左边补0,然后把每组数据装换成十进制数据,最后把所有的十进制数据拼接起来,就形成了8进制数据.
八进制的数据表现形式: 由0,1,…7组成。 以0开头 (如上图中转换后的8进制数就应该写成0263)
3.十六进制的由来
对二进制数再一步优化的话,就是从右往左进行分组,每四个为一组,不够的左边补0,然后把每组数据装换成十进制数据,再把所有的十进制数据拼接起来,就形成了十六进制数据.
十六进制的数据表现形式: 由0,1,…9,a,b,c,d,e,f(大小写均可)。 以0x开头(x可大写)
(也就是11是a,12是b以此类推!如下图就应该书写成0XB3.)
由此咱们很容易发现一个规律:在二进制不断优化过程中,进制越大数据的表现形式越短!
(注意:一般的整数都是十进制数据!)
二、进制的转换
1.任意进制数转换成十进制数
每一组的数据由3部分组成: (例:0B1100 二进制数)
- 系数: 系数就是该位对应的值 (上例中,系数就是相对应的1,1,0,0)
- 基数: X进制到10进制的转换那么这个基数就是X (上例中,基数就是相对应的2)
- 权: 我们可以对上边的数据的每一位给出一个编号,而这个编号是从0开始,并且是从右往左的,那么每组的权值就是该编号的值 (上例中,权的表示如下图:)
然后咱们就浅套一下公式吧! 每组的数据=系数*基数^权
如示例中的0B1100=1*2^3 + 1*2^2 + 0*2^1 + 0*2^0 = 12
(示例中演示了二进制转换十进制的过程了!八进制和十六进制也是一样的啦!示例如下图:)
2.十进制数转换成任意进制数
只需要遵循一个规则就是: 除基取余,直到商为0,余数翻转!
看不懂的话,没有关系!咱们来看看案例就是啦!
换做是8进制和16进制转换成10进制,也是一样哒!只是除的基数修改一下!如下图:
3.任意进制数转换成任意进制数
通过以上,我们学会了十进制与任意进制数的互转,那么咱们想任意进制数转换成任意进制数呢?例如二进制转成十六进制,这个就用"魔法打败魔法吧!"也就是将二进制转换成十进制,再由十进制转换成八进制!懂了吧!
好啦!今天的头发就掉到就此而止吧!下次接着掉啦!!!!
(小编仍然在继续努力学习更多哟!以后会多多分享哒!)
希望对友友们有所帮助!!!!