zoukankan      html  css  js  c++  java
  • 二进制、八进制、十进制、十六进制

    参考博客:http://www.cnblogs.com/fenglingyi/p/4750378.html

    重点知识:

    二进制——》八进制:每3个进制位为一组,然后将二进制数转化为八进制数

    二进制——》十六进制:每4个进制位为一组,然后将二进制数转化为十六进制数

    八进制——》二进制:一个进制位拆分成3个二进制位。

    八进制——》十六进制:先转化为二进制数,然后再转化为十六进制数。

    十进制——》二进制:除2取余,然后倒着取值

    十进制——》八进制:除8取余,然后倒着取值

    十进制——》十六进制:除16取余,然后倒着取值

    十六进制——》二进制:一个进制为拆分成4个二进制位,然后算出值。

    十六进制——》八进制::先转化成二进制数,然后再转化成八进制

    基本机制: 

    二进制:用0和1来表示数,基数是2,进位规则是逢二进一,借位规则是借一当二。

    八进制:用0-7来表示数,逢八进一。

    十进制:用0-9来表示数,逢十进一。

    十六进制:用0-9以及ABCDEF来表示数,逢十六进一。

    1.十进制转化

    二进制:1101000——》2**6+2*5+2**3 =104

    八进制:317——》3X8**2 + 1X8**1 +7X8**0

    十进制:134——》1X10**2 + 3X10**1 + 4X10**0

    十六进制:716——》7X16**2 + 1X16**1 + 6X16**0

    以上实际上就是十进制的转换

    2.二进制转换

    (1)十进制转化为二进制:除二取余,倒取余数。

    (2)八进制转化为二进制:一个八进制的位拆分成一个三位的二进制数。

    例:八进制的616转换成二进制就是6(110)1(001)6(110) ——》 110001110

    八进制616:6X8**2 + 1X8**1 +6X8**0 =398

    二进制110001110:2**8 + 2**7 + 2**3 +2**2 2**1 = 398
     

    (3)十六进制转化为二进制:一个十六进制的位拆分成一个四位的二进制数。为啥是4位,因为2*3 << 16。

    例:十六进制的616转换成二进制就是6(0110)1(0001)6(0110) ——》11000010110

    十六进制616: 6X16**2 + 1X16**1 6x16**0 =1558

    二进制11000010110:2**10 + 2**9 + 2**4 + 2**2 +2**1 =1558

     

    3.八进制转换

    (1)二进制转换位八进制:每三个二进制位为一组,将二进制转换成八进制。

    110   111  100   ——》 674

    八进制:674——》6*8**2 + 7*8 +4 = 444

    二进制:110111100 ——》2**8 +2**7 +2**5 + 2**4 +2**3+ 2**2 =444

    (2)十进制转化为八进制:除八取余数然后把余数倒过来。比如4216

    4216/8 =527  余0

    527/8 = 65  余7

    65/8 = 8    余1

    8/8 = 1  余0

    1/8=0 余1

    由下向上取值,结果为10170 —转化成10进制——》8**4 + 8**2 + 8*7 = 4216

    还可以将十进制转化为二进制,然后再转化为八进制。

    (3)十六进制转化为八进制:先把十六进制转化为4位二进制,然后再把二进制转化为三位的八进制。例如:3BE8

    3BE8——》3 11 14 8——》0011   1011   1110  1000——》0 011 101 111 101 000——》转化为八进制35750——》3*8**4 + 5*8**3 + 7*8**2 + 5*8  =15336

    3BE8——》3*16**3 +11*16**2 +14*16 +8 = 15336

    4.十六进制转换

    (1)二进制转化为十六进制:每四个进制位为一组,然后转化位十六进制。

    例:100 110 001110 ——》1001 1000 1110(不足4位再最前面补0)——》9 8 14——》98E

      100 110 001110 ——》2**11 + 2**8+ 2**7 +2**3 + 2**2+2**1 = 2446

      9 8 14——》9*16**2 + 8*16 +14 = 2446

    (2)八进制转化位十六进制:先将八进制转化位二进制,然后再转化位十六进制。

    例:613—转换成二进制—》110 001 011(0001 1000 1011)1 8 11(18b)

    613——》6*8**2 + 1*8 +3 =395

    1 8 11——》1*16**2 + 8*16 +11 =395

      

    (3)十进制转化位十六进制:除十六取余数然后把余数倒过来。例如:3625

    3525/16 = 226  余9

    226/16 = 14 余2

    14/16 = 0 余14

    倒着连起来就是:14 2 9——》E29

    E29转换成十进制数就是:14*16**2 +2*16 +9 = 3625

    参考标准:

  • 相关阅读:
    animation
    0201 ---背景 tableview
    0129 ---稳定定的 plist介绍
    0127 userdefault
    0127 数据库 我的专家
    0122 ---清理缓存
    0122 清楚缓存
    0122---screach
    0121 --view 可以当作线
    0119吧 iPhone 屏幕尺寸
  • 原文地址:https://www.cnblogs.com/yangmingxianshen/p/7720475.html
Copyright © 2011-2022 走看看