进制的概念
进制其实是个很简单的概念,我们现在常用的就是10进制。我估计就是我们因为有10个手指头。
而对于程序员而言,最熟悉的应该是2进制了,为什么用2进制,主要是因为计算机只认识2进制,这是因为计算机是通过高低电平也就是1、0来区分输入的,也就是二进制。
而10进制是由0、1、2、3、4、5、6、7、8、9组成的,这就是为什么有个笑话说篮子里明明有10个鸡蛋,而数学家为什么数出来的就是9个,因为是从1开始的。所以,切记所有的进制都是从0开始的。
由于二进制表示起数据来,比较麻烦,这就出现了8进制和16进制。
对于N进制而言,跟10进制一样,逢N进1,这个对于习惯了10进制而言的其他进制而言,刚开始可能有点不太适应。十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一。
各种进制
十进制(Decimal)
基数是10,它有10个数字符号,即0,l,2,3,4,5,6,7,8,9。其中最大数码是基数减1,即9,最小数码是0。
二进制(Binary)
基数是2,它只有两个数字符号,即0和1。这就是说,如果在给定的数中,除0和1外还有其它数,例如1012,它就决不会是一个二进制数。
八进制(Octal)
基数是8,它有8个数字符号,即0,l,2,3,4,5,6,7。最大的也是基数减1,即7,最小的是0。
十六进制(Hexadecilnal)
基数是16,它有16个数字符号,除了十进制中的10个数可用外,还使用了6个英文字母。它的16个数字依次是0,l,2,3,4,5,6,7,8,9,A,B,C,D,E,F。其中A至F分别代表十进制数的10至15,最大的数字也是基数减1。对于很多二进制查看软件而言,就是显示的十六进制。
既然有不同的进制,那么在给出一个数时,就需要指明是什么数制里的数。例如:(1010)2,(1010)8,(1010)10,(1010)16所代表的数值就不同。除了用下标表示外,还可用后缀字母来表示数制。例如2A4EH,FEEDH,BADH(最后的字母H表示是十六进制数),与(2A4E)16,(FEED)16,(BAD)16的意义相同。
进制转换
除了进制的基本知识,还有比较重要的各种进制的互换,对于其他进制转换为10进制,相比各位应该相当熟练的转换了过来,比较不是很熟练的应该就是10进制的转换为其他进制,下面的这个例子就是将115转换为二进制和16进制。
例如转换为2进制,就可以除2将所得的余数,倒序即可得到最后的转换值。
比如将十进制数 115 转换为二进制的过程如下:
115 ÷ 2 = 57 余 1
57 ÷ 2 = 28 余 1
28 ÷ 2 = 14 余 0
14 ÷ 2 = 7 余 0
7 ÷ 2 = 3 余 1
3 ÷ 2 = 1 余 1
1 ÷ 2 = 0 余 1
将余数从下到上排列,得到 115 的二进制表示为:
1110011
因此,十进制数 115 的二进制表示是 (1110011)2。
将十进制数 115 转换为八进制的过程如下:
115 ÷ 8 = 14 余 3
14 ÷ 8 = 1 余 6
1 ÷ 8 = 0 余 1
将余数从下到上排列,得到 115 的八进制表示为:
163
因此,十进制数 115 的八进制表示是( 163)8。
将十进制数 115 转换为十六进制的过程如下:
115 ÷ 16 = 7 余 3
7 ÷ 16 = 0 余 7
将余数从下到上排列,得到 115 的十六进制表示为:
73
因此,十进制数 115 的十六进制表示是 (73)16。
2010.10
声明:文中观点不代表本站立场。本文传送门:https://eyangzhen.com/422675.html