ibcadmin 发表于 2015-1-8 09:38:17

编程中的进制转换讲解【转】

(二进制,八进制,十进制,十六进制)

  二进制是由 0和1 组成

【十进制转二进制】   

如   23写成二进制为 10111
    23/2=11余1
    11/2=5    1
    5/2=2   1
    2/2=1   0
  所以为23写成二进制为10111

【二进制转十进制公式】

     a*2^0+b*2^1+……+m*2^(n-1)=
     例如 1011写成十进制为 1*2^0+1*2^1+0*2^2+1*2^3=11
重点:1.写二进制转十进制时要从右往左写
      2.指数从0开始


【十进制转八进制】
    例如48的八进制
      48/8=6 余0
      所以 48的八进制为60

【八进制转十进制】   

(同二进制转十进制)
      a*8^0+b*8^1+……+m*8^(n-1)=
     60的十进制为   0*8^0+6*8^1=48

十六进制数为:0,1,2,3,4,5,6,7,8,9,A(10),B(11),C(12),D(13),E(14),F(15)
【十进制转十六进制】:如45十六进制为2D
【十六进制转十进制】:a*16^0+b*16^1+……+m*16^(n-1)=

【二进制转八进制】
( 二进制从左往右,每三位一组,每组从右开始第一位为1,第二位为2,第二位4,分别于二进制数相乘,每组求和,最后得数左右互换位置。){为什么三个一组,因为 2的三次方为8。(1,2,4)}
       如   10110101
            10   110   101
          0*1+1*2=2    0*1+1*2+1*4=6    1*1+0*2+1*4=5
      所以10110101的八进制为562

【八进制转二进制】

(每个数分别除以2,每组得数不够三位的从左面添0补充,顺序从左到右顺着写即可)
       如   72的二进制为   111010

【二进制转十六进制】
      同上,从左往右每四个数为一组,相乘的数为(1,2,4,8)   

【十六进制转二进制 】
      同上,但要注意(ABCDEF),每一个字母为一组不能拆开除以2,最后结果从左往右顺着写。

zjj2612623 发表于 2015-3-17 15:59:02

hahaha,good enough.

395135191 发表于 2015-8-12 15:53:08

没有代码吗?

BigMark 发表于 2017-8-16 17:38:46

 所以10110101的八进制为562   写反了 是265
页: [1]
查看完整版本: 编程中的进制转换讲解【转】