2016.3.5下午 C#课堂随笔
进制转换: 二进制、十进制、八进制、十六进制之间的相互转换。
二进制,计算机采用的简单,易实现的进制,由“0”和“1”组成,且只由“0”和“1”两个基数组成
十进制,我们都熟悉的0,1,2,3,4,5,6,7,8,9是十进制的十个基数
八进制,是由0,1,2,3,4,5,6,7八个基数组成的
十六进制,基数最多,有从0,1,2,3,4,5,6,7,8,9,10(A),11(B),12(C),13(D),14(E),15(F)的16个基数
其实进制之间的转换只要弄明白记清楚了,其实不麻烦的,关键是要仔细,还有就是算数一定要细心,一步算错,下面整个数据都是错的,一开始自己就犯了这样的错误,所以切记:细心!
二进制转十进制
二进制数1011101转为十进制 从右向左1*20+0*21+1*22+1*23+1*24+0*25+1*26=93,由此可总结出一个二进制公式:a*20+b*21+c*22+……+n*2n-1,其实还有更为简便的方法,如果需转换数据不是特别长的话在可以用这种简便方法,还是用1011101作为例子:插入图片
十进制转二进制
十进制数95转为二进制:用95除以2讲义上的方法有点轴,老师讲得简单又实用,个人推荐孙老师的简单算法:插入图片
八进制转十进制
八进制数527转换为十进制,7*80+2*81+5*82=343,也可用简易方法
由此得出计算公式:a*80+b*81+c*82+d*83+……n*8n-1=
十进制转八进制
十进制数953转为八进制,用953除以8 商依次是:119 14
余数依次是:1 7 6 1,余数相反顺序写出即为1671 插入图片
十六进制转十进制
十六进制数ABCE转为十进制方法同二进制转十进制一样,只是基数变化了,ABCE=1*14+8*12+64*11+512*10=5934,插入图片
十进制转十六进制
十进制数1563转为十六进制,用1563除以16直到商为零,商依次是:97,余数依次是11 1 6,按照相反方向写出即是61B
二进制、八进制相互转换
二进制与八进制之间相互转换,二进制数据从右往左三个划为一组加和即为八进制,因为二进制三个一组最大数即为111,加起来正好是7,八进制呢最大基数正好是7,所以很容易就可以把二进制相对应的八进制计算出来;同理八进制数据一拆三即为相对应的二进制数据。
1110001101
1 6 1 5 1615即为所对应的八进制数
2751
010 111 101 001 10111101001即为所得二进制数据
二进制与十六进制之间的转换同上,不过是变成了从右往左四个数字一组,因为四个二进制一组最大数1111加和正好是15,是十六进制的最大基数;反过来十六进制转换二进制只需一拆四这个不分左右。
111110111110
F B E FBE即为相对应的十六进制
1FCD
0001 1111 1100 1101 最前面为零把零舍去即1111111001101为所得的二进制数据
最后借用一张孙老师的图来看二进制、八进制、十进制、十六进制之间的转换关系
上图所示,八进制与十六进制之间不能直接转换,中间需借助二进制或是十进制,其余皆可直接转换。