今天就讲一下进制方面的知识,因为后面要用到,提前拿出来说一下。。。。。。
好吧是我想偷懒。。。
那是为了下一个两千字大更做准备,没错就是这样。
在C中针对整数常量提供了四种表现形式:
A:二进制 由0,1组成。以0b开头。B:八进制 由0,1,...7组成。以0开头。
C:十进制 由0,1,...9组成。整数默认是十进制。
D:十六进制 由0,1,...9,a,b,c,d,e,f(大小写均可)组成。以0x开头。
1:其他进制到十进制
系数:就是每一位上的数据。
基数:X进制,基数就是X。
权:在右边,从0开始编号,对应位上的编号即为该位的权。
结果:把系数*基数的权次幂相加即可。
示例:二进制数10010------2^4+0+0+2^1+0=18
八进制数12345------1*8^4+2*8^3+3*8^2+4*8^1+5*8^0=5349
十六进制数1a2b-----1*16^3+10*16^2+2*16^1+11*16=6699
好吧结果我是拿计算器算的,但是列式是没错的。。。。。。
2:十进制到其他进制
除基取余,直到商为0,余数反转。
示例十进制数52
得到二进制:
52 / 2 = 26 0
26 / 2 = 13 0
13 / 2 = 6 1
6 / 2 = 3 0
3 / 2 = 1 1
1 / 2 = 0 1
0b110100(0b表示二进制)
得到八进制:
52 / 8 = 6 4
6 / 8 = 0 6
064 (0表示八进制)
得到十六进制:
52 / 16 = 3 4
3 / 16 = 0 3
0x34 (0x表示十六进制)
另外还有一种算法叫8421码。
8421码是中国大陆的叫法,8421码是BCD代码中最常用的一种。
在这种编码方式中每一位二值代码的1都是代表一个固定数值,
把每一位的1代表的十进制数加起来,得到的结果就是它所代表的十进制数码。
十进制和二进制的快速转换
8421码
100转成二进制
101101转成十进制
二进制和八进制,十六进制如何转换
以十进制作为桥梁
二进制到八进制 3位组合
100110
二进制到十六进制 4位组合
100110
很迷是不是?这是网上找来的。某教程中还有更形象的图片,就用这吧
就这两种算法吧,当然还有更好的方法,那就是计算器。
下面介绍一个计算机装比打开方式
windos+R------>输入calc------>回车
拿去装X