进制转换学习总结

来源:互联网 发布:医疗软件方案 编辑:程序博客网 时间:2024/05/17 11:36

进制转换虽然有工具能很好的计算出来,但是作为一个程序员,进制转换怎么算?熟练不熟练我认为是必要的掌握的。以前学习的时候还知道,但是用的少自然生疏了,所以今天来复习总结总结。

http://www.jb51.net/article/23650.htm


1.十进制 转 二进制

辗转相除法:用2辗转相除至结果为1,将余数和最后的1从下往上倒序写,就是结果。

例如 302

302/2 = 151 余0

151/2 = 75 余1

 75/2 = 37 余1

 37/2 = 18 余1

 18/2 = 9 余0

 9/2 = 4 余1

 4/2 = 2 余0

 2/2 = 1 余0

所以二进制的结果为:100101110


2.二进制 转 十进制

按权相加法:从最后一位开始算(从右到左数),依次列为第0、1、2、..位,第n位的数(0或者1)乘以2的n次方,得到的结果相加就是结果。

例如:100101110

第0位的0:0*2的0次方 = 0

第1位的1:1*2的1次方 = 2

第2位的1:1*2的2次方 = 4

第3位的1:1*2的3次方 = 8

    4        0:0*2的4次方 = 0

   5         1:1*2的5次方 = 32

   6         0:0*2的6次方 = 0

   7         0:0*2的7次方 = 0

   8         1:1*2的8次方 = 256

相加结果:0+2+4+8+0+32+0+0+256  =302

所以转成十进制的值为:302


0 0