C语言教程(三):进制以及进制转换
C语言教程 (三):进制以及进制转换
简介
进制:进制机制,是人们规定的一种进位方法,注意是规定的,我们规定十进制,那么就是
逢十进一,我们规定二进制,就是逢二进一。X 进制就表示某一位置上的数运算时时逢 X 进
一位。计算机采用的就是二进制。常用的进制还有十六进制。
举例:人民币就是十进制,10毛等于1块,10个10块等于100块;时间是60进制,60秒
等于1分,60分等于1小时。
各种进制介绍:
十进制:0,1,2,3,4,5,6,7,8,9;如果满9就是10。
二进制:只有 0 和 1;如果满2就是10,接下来就是11,继续就是100。
十六进制:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F;如果10就是A,如果11
就是B。
上面进制只需要把握一个原则就是是多少进制,就逢多少进 1。
咱们继续列举几个二进制和十六进制的数
二进制从小到大依次是:0,1,10,11,100,101,110,111,1000,1001,1010,1011,
1100,1101,1110,1111
十六进制从小到大依次 是:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,10,11,
12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F,20,21,22,23,24,25,
26,27,28,29,3A,3B 等等
进制之间的转化:
十进制转二进制和十进制转十六进制
方法:都是用的连除倒取余法,十进制转几进制就除以几,比如一个十进制数24,我们转
换成二进制的时候就是用24÷2,用余数一直连除,知道除尽为止,然后把余数倒着输出就
是了,结果为:11000如下图:
十进制转十六进制的时候就是用十进制数连除16,然后把余数倒着输出即可,比如32转化
为十六进制就是用32÷16结果为:20,如下图:
二进制转十进制和二进制转十六进制
方法:按权求和法,二进制转十进制 “权”就是2,也就是最低位是2的0次方,高一位
是2的1次方,比如11011,就是1 x 2的0次 + 1 x 2 的1次 + 0 x 2的2次 + 1 x 2
的3次 + 1 x 2的4次方,结果为:27,如下图:
十六进制转十进制也是同样的方法,但是“权”是16,比如一个十六进制数A3,就是Ax 16
的1次方 + 3 x 16的0次方,结果为:163,如下图:
二进制转十六进制和十六进制转二进制
二进制转十六进制方法:从低位到高位也就是从右到左,每4位转化成一个十六进制的数,
不够4位的,左边补0,比如1100011,就是先转换成为:0110 0011,0110对应十六进制
为6,0011对应十六进制为3,所以转化成十六进制为:63,如下图:
十六进制转二进制方法为:和二进制转化成十六进制正好相反,把每位16进制数分开,然
后每一位十六进制分别用二进制表示,比如3A,先分为3A,3二进制为0011,A二进制为
1010,然后把最左边的0去掉,结果就是:111010,如下图: