zoukankan      html  css  js  c++  java
  • 进制转换(各进制的原理)

    二进制

    一个字节等于8个二进制数

    0       0    0    0   0  0  0  0

    1       1    1    1   1  1  1  1

    128  64  32  16  8  4  2   1

    1代表有,0代表没有,从右往左看,八个二进制数分别代表了1,2,4,8,16,32,64,128。这8个二进制组合可以代表1~256当中的任何一个数字(所有都是1的话加起来就是256,所有都是0的话加起来就是0。  1~256当中任何一个数字都可以从中表示出来)。这256个字符可以转换成256个字符,这就是所谓的ASCII码。

    比如:二进制表示 37

               0       0   1    0    0   1  0  1

              128   64  32  16   8   4  2  1

    1代表有,2代表没有,对照一下,为1的加起来就等于37,这就是二进制的原理。

    十进制

    就是人们常用的数字1,2,3,4,5.。。。。

    八进制

    一种以8为基数的计数法,采用01234567八个数字,逢八进1

    八进制和十进制原理一样,只不过十进制不限制范围,但是8进制只是0~7,0~7这八个数字用二进制表示如上图所示,转换原理就是二进制转十进制

    例子:

        十进制数115

        二进制表示就是     

               0      1    1   1   0  0  1  1

              128  64  32  16  8  4  2  1

    所有有1的加起来就是115

    八进制表示就是把二进制三个三个分开(左边可以无限补0)0 1    1 1  0     0  1  1

    第一个0  1                       其实就是0  0  1   转换成八进制代表1

    第二个1  1  0                   转换成八进制代表6

    第三个0  1  1                   转换成八进制代表   3

    所以115转换成八进制就是163

    十六进制

    16进制就是逢161,但我们只有0~9这十个数字,所以我们用ABCDEF这六个字母来分别表示101112131415。字母不区分大小写。

    例子:加入有一个十六进制数字  2AF5,转换成二进制、十进制。

    拆分,先看  5  换成二进制为  0 1 0 1

                     F   换成二进制为  1 1 1 1

                     A   换成二进制为  1 0 1 0

                     2   换成二进制为   0 0 1 0

    所以换成二进制加起来就是 0 0 1 0 1 0 1 0 1 1 1 1 0 1 0 1

    转换成十进制为 5 * 16^0 + F * 16^1 + A * 16^2 + 2 * 16^3 = 10997

    上边是各进制转换的原理,把原理理解透,然后在用那些转换的方法。

  • 相关阅读:
    面向接口程序设计思想实践
    Block Chain Learning Notes
    ECMAScript 6.0
    Etcd Learning Notes
    Travis CI Build Continuous Integration
    Markdown Learning Notes
    SPRING MICROSERVICES IN ACTION
    Java Interview Questions Summary
    Node.js Learning Notes
    Apache Thrift Learning Notes
  • 原文地址:https://www.cnblogs.com/liyichen/p/5989143.html
Copyright © 2011-2022 走看看