进制转换

一、进制

什么是进制

进制也就是进位制,是人们规定的一种进位方法。 对于任何一种进制---X进制,就表示某一位置上的数运算时是逢X进一位。 十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。

进制的由来


人类为了更方便的表示数量

关于十进制

  • 人类算数采用十进制,可能跟人类有十根手指有关。亚里士多德称人类普遍使用十进制,只不过是绝大多数人生来就有10根手指这样一个解剖学事实的结果
  • 至迟在商代时,中国已采用了十进位值制。从现已发现的商代陶文和甲骨文中,可以看到当时已能够用一、二、三、四、五、六、七、八、九、十、百、千、万等十三个数字,记十万以内的任何自然数。
  • 除了巴比伦文明的楔形数字为60进制,玛雅数字为20进制外,几乎全部为十进制

生活中的其他进制

  • 时间日期: 时、分、秒, 年、月、日
  • 一听啤酒、一打啤酒
  • 一磅=16盎司

二、二进制

什么是二进制

  • 由18世纪德国数理哲学大师莱布尼兹发现
  • 进制是计算技术中广泛采用的一种数制
  • 二进制数据是用0和1两个数码来表示的数
  • 它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”

计算机为什么使用二进制

  • 技术实现简单。计算机是由逻辑电路组成,逻辑电路通常只有两种状态,开关的接通和断开,正好用“0”“1”表示。
  • 运算规则简单,两个二进制数的和、积运算组合简单。
  • 适合逻辑运算,二进制只有两个数码,和逻辑代数中的“真”“假”相吻合。

二进制在生活中的应用

[http://tech.qq.com/a/20170525/016193.htm](http://tech.qq.com/a/20170525/016193.htm "程序员掉入传销组织用"代码"求救 同事"秒懂"")

二进制与八卦

三 各种常见进制

十进制

0 、1、 2、 3、 4、 5、 6、 7、 8、 9、 10、 11、 12、 13 ....

二进制

0 、1、 10、 11、 100、 101、 110、 111、 1000 ....

八进制

0、1、2、3、4、5、6、7、10、11、12、13、14、15、16、17、20、21 ...

十六进制

0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F、10、11、12、13、14、15、16、17、18、19、1A、1B、1C、1D .....

四、 进制转换(正整数)

其他进制转十进制

  • 二进制1101转换为10进制

    1101= 1 * 2^3 + 1 * 2^2 + 0 * 2^1 + 1 * 2 ^ 0 = 13

  • 八进制 125 转换为 10 进制

    25 =1 * 8 ^ 2 + 2 * 8^1 + 5 * 8^1 = 85

十进制转换为 其他 进制

  • 十进制 26 转换为 二进制

    26 / 2 = 13 余 0
    13 / 2 = 6 余 1
    6 / 2 = 3 余 0
    3 / 2 = 1 余 1
    结果是 11010

  • 十进制 37 转换为 二进制

    37 / 2 = 18 余 1
    18 / 2 = 9 余 0
    9 / 2 = 4 余 1
    4 / 2 = 2 余 0
    2 / 2 = 1 余 0
    结果 为 100101

  • 十进制 89 转换为 二进制

    89 / 2 = 44 余 1
    44 / 2 = 22 余 0
    22 / 2 = 11 余 0
    11 / 2 = 5 余 1
    5 / 2 = 2 余 1
    2 / 2 = 1 余 0
    结果为 1011001

  • 十进制 589 转换为 8 进制

    489 / 8 = 61 余 1
    61 / 8 = 7 余 5
    结果 751

  • 总结: 10进制转为N进制。 将十进制数除以N,得到的商再除以N,依次类推,直到得到的商小于N,然后在旁边标出各步的余数,最后从最后一次商开始倒着拼上余数写出来,高位补零。

八四二一法 快速转换

  • 二进制 100100 转为 10进制

    100100 = 2^2 + 2^5 = 36

    挑出里面所有的1, 熟练记住2的各个次方的值

  • 十进制 77 转为 二进制

    77 = 64 + 8 + 4 + 1 = 1001101

    把数拆分成几个 2 的 次方数的和

  • 二进制 10110111101 转换为 16进制

    101 1011 1101 对应 5 B D
    结果为: 5BD

  • 16进制 1A 转为 2进制

    1 A 对应 0001 1010
    结果为 11010

  • 二进制 1100101001 转换为 八进制

    1 100 101 001 对应 1 4 5 1
    结果为 1451

  • 八进制 227 转换为 二进制

    2 2 7 对应 010 010 111
    结果为 10010111

  • 熟记 2 的次方数

    2^0 = 1
    2^1 = 2
    2^2 = 4
    2^3 = 8
    2^4 = 16
    2^5 = 32
    2^6 = 64
    2^7 = 128
    2^8 = 256
    2^9 = 512
    2^11 = 1024

五 进制转换(小数)

十进制转二进制

  • 十进制数 10.25 转换为 二进制

    整数部分 10 转换二进制 为 1010
    小数部分 0.25
    0.25 * 2 = 0.5 取 0 小数部分 0.5
    0.5 * 2 = 1 取 1 小数部分 0.0 结束
    最后结果 1010.01

  • 十进制数 12.58 转换为 二进制

    整数部分 12 转换为 二进制 1100
    小数部分 0.58
    0.58 * 2 = 1.16 取 1 小数部分 0.16
    0.16 * 2 = 0.32 取 0 小数部分 0.32
    0.32 * 2 = 0.64 取 0 小数部分 0.64
    0.64 * 2 = 1.28 取 1 小数部分 0.28
    0.28 * 2 = 0.56 取 0 小数部分 0.56
    0.56 * 2 = 1.12 取 1 小数部分 0.12
    继续 永远也玩不了 ....
    结果 1100.100101....

  • 总结

    小数部分只有是 0.5 0.25 0 .75 0.125 0.0625 等 可以是 有限小数
    转换为分数后,分母是 2的次方数 才可以转为有限小数

  • 同样适用 十进制 转 其他进制

二进制转十进制

  • 二进制 1101.1101 转为 十进制

    整数部分 1101转为二进制 为 13
    小数部分
    0.11011 = 1*2^-1 + 1 * 2^-2 + 0 * 2^-3 + 1 * 2^-4 = 0.5 + 0.25 + 0 + 0.0625 = 0.8125
    最后结果 13.8125

  • 同样适用 其他进制 转换为 十进制

  • 熟记 2的负次方 数

    2^-1 = 0.5
    2^-2 = 0.25
    2^-3 = 0.125
    2^-4 = 0.0625
    2^-5 = 0.03125
    2^-6 = 0.015625
    2^-7 = 0.0078125
    2^-8 = 0.00390625
    2^-9 = 0.00195312
    2^-10 = 0.00097656

二进制和八进制或十六进制 的小数转换

  • 二进制 10.10010101 转换为 八进制

    整数部分 10 八进制 为 2
    部分 进行拆分 3个一组, 不足右补零
    100 -> 4
    101 -> 5
    010 -> 2
    最后结果 4.452

  • 二进制数 10.10010101 转换为 十六进制

    整数部分 10 -> 2
    小数部分 拆分,4位一组
    1001 -> 9
    0101 -> 5
    最后结果 2.95

  • 八进制 17.236 转换为 2进制

    整数部分 17 -> 1111
    小数部分
    2 -> 010
    3 -> 011
    6 -> 110
    最后结果 1111.010011110

  • 十六进制 a.3ef 转换为 2进制

    整数部分 a -> 1010
    小数部分
    3 -> 0011
    e -> 1110
    f -> 1111
    最后结果 1010.001111101111

六 、二进制运算

二进制加法

  • 1101 + 100101

    000110
    +100101
    ---------
    101011

二进制减法

  • 1001001 - 10011

    1001001
    - 10011
    ---------------
    110110

二进制乘法

  • 1001 * 110

    1001
    x 110
    -------------
    0000
    1001
    1001
    ---------------
    110110

二进制除法

  • 100110 / 110

    110
    -----------------
    110)100110
    110
    --------------------------
    111
    110
    --------------------------
    10

    结果 110 余 10

进制转换(整数)

其他进制转换为 十进制

  • 二进制10001011 转换为 十进制

    10001011 = 1 * 2^7 + 1 * 2^3 + 1 * 2 ^ 1 + 1 * 2^0 = 139

  • 八进制 76 转换为 十进制

    7 * 8^1 + 6 * 8^0 = 62

  • 十六进制 12b 转换为 十进制

    1 * 16^2 + 2 * 16*1 + B = 299

十进制转换为其他进制

  • 十进制 11 转换为 二进制
    1011

  • 十进制 102 转换为 二进制
    1100110

  • 十进制 156 转换为 16进制

2 的次方数

  • 2^0 = 1;
  • 2^1 = 2
  • 2^2 = 4
  • 2^3 = 8
  • 2^4 = 16
  • 2^5 = 32
  • 2^6 = 64
  • 2^7 = 128
  • 2^8 = 256
  • 2^9 = 512
  • 2^10 = 1024

8421法

  • 二进制 10011011 转 十进制

    128 + 16 + 8 + 2 + 1 = 155

  • 十进制 59 转换为 二进制

    32 + 16 + 8 + 2 + 1
    111011

  • 二进制 1101 转换为 十进制

    13

  • 十进制 109 转换为 二进制
    64 + 32 + 8 + 4 + 1
    1101101

    1101101

  • 二进制 10011011 转换为 八进制

    010 011 011
    2 3 3

  • 八进制 176 转换为 二进制

    1 7 2
    001 111 010

    1111110

  • 二进制 1000111011011 转换为 十六进制

    0001 0001 1101 1011
    1 1 D B

    11DB

  • 十六进制 18 转换为 二进制

    1 1000

    11000

  • 二进制 10011 转换为 八进制
    10 011
    23

  • 十六进制 ad1 转换为 二进制
    10101101 0001

  • 十进制 89 转换为 八进制
    64 + 16 + 8 + 1
    1 011 001
    131

  • 八进制 47 转换为 十六进制
    10 0111
    27

进制转换(小数)

二进制小数转换为十进制

  • 1101.01011 转换为 十进制

    13
    1 * 2^-2 = 1 * 0.25
    1 * 2 ^ 4 = 1 * 0.0625
    1 * 2 ^ 5 = 1 * 0.03125

    13.34375

    0.5 0.25 0.125 0.625

  • 二进制 101.101 转十进制
    5.625

十进制小数 转 二进制

  • 十进制 10.68 转换为 2进制

    1010
    0.68 * 2 = 1.36 0.36 1
    0.36 * 2 = 0.72 0.72 0
    0.72 * 2 = 1.44 0.44 1
    0.44 * 2 = 0.88 0.88 0
    0.88 * 2 = 1.76 0.76 1

  • 十进制6.625 转换为 二级制
    110
    0.625 * 2 = 1.25 0.25 1
    0.25 * 2 = 0.5 0.5 0
    0.5 * 2 = 1.0 1

八进制与二进制

  • 八进制小数 12.456 转换为二级制
    12 -> 1010
    0.456 -> 0.100101110

  • 二进制110.0101011 转换 八进制

    6. 254

进制转换(整数)

其他进制转换为 十进制

  • 二进制10001011 转换为 十进制

    10001011 = 1 * 2^7 + 1 * 2^3 + 1 * 2 ^ 1 + 1 * 2^0 = 139

  • 八进制 76 转换为 十进制

    7 * 8^1 + 6 * 8^0 = 62

  • 十六进制 12b 转换为 十进制

    1 * 16^2 + 2 * 16*1 + B = 299

十进制转换为其他进制

  • 十进制 11 转换为 二进制
    1011

  • 十进制 102 转换为 二进制
    1100110

  • 十进制 156 转换为 16进制

2 的次方数

  • 2^0 = 1;
  • 2^1 = 2
  • 2^2 = 4
  • 2^3 = 8
  • 2^4 = 16
  • 2^5 = 32
  • 2^6 = 64
  • 2^7 = 128
  • 2^8 = 256
  • 2^9 = 512
  • 2^10 = 1024

8421法

  • 二进制 10011011 转 十进制

    128 + 16 + 8 + 2 + 1 = 155

  • 十进制 59 转换为 二进制

    32 + 16 + 8 + 2 + 1
    111011

  • 二进制 1101 转换为 十进制

    13

  • 十进制 109 转换为 二进制
    64 + 32 + 8 + 4 + 1
    1101101

    1101101

  • 二进制 10011011 转换为 八进制

    010 011 011
    2 3 3

  • 八进制 176 转换为 二进制

    1 7 2
    001 111 010

    1111110

  • 二进制 1000111011011 转换为 十六进制

    0001 0001 1101 1011
    1 1 D B

    11DB

  • 十六进制 18 转换为 二进制

    1 1000

    11000

  • 二进制 10011 转换为 八进制
    10 011
    23

  • 十六进制 ad1 转换为 二进制
    10101101 0001

  • 十进制 89 转换为 八进制
    64 + 16 + 8 + 1
    1 011 001
    131

  • 八进制 47 转换为 十六进制
    10 0111
    27

进制转换(小数)

二进制小数转换为十进制

  • 1101.01011 转换为 十进制

    13
    1 * 2^-2 = 1 * 0.25
    1 * 2 ^ 4 = 1 * 0.0625
    1 * 2 ^ 5 = 1 * 0.03125

    13.34375

    0.5 0.25 0.125 0.625

  • 二进制 101.101 转十进制
    5.625

十进制小数 转 二进制

  • 十进制 10.68 转换为 2进制

    1010
    0.68 * 2 = 1.36 0.36 1
    0.36 * 2 = 0.72 0.72 0
    0.72 * 2 = 1.44 0.44 1
    0.44 * 2 = 0.88 0.88 0
    0.88 * 2 = 1.76 0.76 1

  • 十进制6.625 转换为 二级制
    110
    0.625 * 2 = 1.25 0.25 1
    0.25 * 2 = 0.5 0.5 0
    0.5 * 2 = 1.0 1

八进制与二进制

  • 八进制小数 12.456 转换为二级制
    12 -> 1010
    0.456 -> 0.100101110

  • 二进制110.0101011 转换 八进制

    6. 254

进制转换(整数)

其他进制转换为 十进制

  • 二进制10001011 转换为 十进制

    10001011 = 1 * 2^7 + 1 * 2^3 + 1 * 2 ^ 1 + 1 * 2^0 = 139

  • 八进制 76 转换为 十进制

    7 * 8^1 + 6 * 8^0 = 62

  • 十六进制 12b 转换为 十进制

    1 * 16^2 + 2 * 16*1 + B = 299

十进制转换为其他进制

  • 十进制 11 转换为 二进制
    1011

  • 十进制 102 转换为 二进制
    1100110

  • 十进制 156 转换为 16进制

2 的次方数

  • 2^0 = 1;
  • 2^1 = 2
  • 2^2 = 4
  • 2^3 = 8
  • 2^4 = 16
  • 2^5 = 32
  • 2^6 = 64
  • 2^7 = 128
  • 2^8 = 256
  • 2^9 = 512
  • 2^10 = 1024

8421法

  • 二进制 10011011 转 十进制

    128 + 16 + 8 + 2 + 1 = 155

  • 十进制 59 转换为 二进制

    32 + 16 + 8 + 2 + 1
    111011

  • 二进制 1101 转换为 十进制

    13

  • 十进制 109 转换为 二进制
    64 + 32 + 8 + 4 + 1
    1101101

    1101101

  • 二进制 10011011 转换为 八进制

    010 011 011
    2 3 3

  • 八进制 176 转换为 二进制

    1 7 2
    001 111 010

    1111110

  • 二进制 1000111011011 转换为 十六进制

    0001 0001 1101 1011
    1 1 D B

    11DB

  • 十六进制 18 转换为 二进制

    1 1000

    11000

  • 二进制 10011 转换为 八进制
    10 011
    23

  • 十六进制 ad1 转换为 二进制
    10101101 0001

  • 十进制 89 转换为 八进制
    64 + 16 + 8 + 1
    1 011 001
    131

  • 八进制 47 转换为 十六进制
    10 0111
    27

进制转换(小数)

二进制小数转换为十进制

  • 1101.01011 转换为 十进制

    13
    1 * 2^-2 = 1 * 0.25
    1 * 2 ^ 4 = 1 * 0.0625
    1 * 2 ^ 5 = 1 * 0.03125

    13.34375

    0.5 0.25 0.125 0.625

  • 二进制 101.101 转十进制
    5.625

十进制小数 转 二进制

  • 十进制 10.68 转换为 2进制

    1010
    0.68 * 2 = 1.36 0.36 1
    0.36 * 2 = 0.72 0.72 0
    0.72 * 2 = 1.44 0.44 1
    0.44 * 2 = 0.88 0.88 0
    0.88 * 2 = 1.76 0.76 1

  • 十进制6.625 转换为 二级制
    110
    0.625 * 2 = 1.25 0.25 1
    0.25 * 2 = 0.5 0.5 0
    0.5 * 2 = 1.0 1

八进制与二进制

  • 八进制小数 12.456 转换为二级制
    12 -> 1010
    0.456 -> 0.100101110

  • 二进制110.0101011 转换 八进制

    6. 254

posted on 2017-07-17 14:40  溢流谦  阅读(3812)  评论(0)    收藏  举报

导航