zoukankan      html  css  js  c++  java
  • 一些关于常见的进制教程

    二进制

    二进制是逢二进一

    第一行和第二行相加

    1 0 1 1
    1 1 1 1
    1 1 0 1 0

    二进制转为十进制

    我们把右边当作低位,左边是高位.

    举个例子:

    3 2 1 0 位数
    1 0 1 0 二进制数
    2^3^ 0 2^1^ 0 = 10

    点拨:

    可以看到3210是固定组,往左越来越大,我们从右往左看,二进制数只有0和1,当数字为0时代表没有则为0,如果数字是1,我们就要考虑当前位置对于的位数是多少,例如: 从右往左的第二个数字就是1,而当前位数是1,所以就是2的1次方.最后把所有转换的数字加起来即可.

    总结: 位数 = n,遇到1考虑n,2的n次方

    上面的例子有个特点就是8,4,2,1这是所有二进制数转十进制通用的

    1110 = 14 (8+4+2+0)

    1010 = 10 (8+0+2+0)

    0001 = 1 (0+0+0+1)


    八进制

    八进制就是逢8进1

    第一行和第二行相加

    7 0 1 1
    1 2 1 5
    1 0 2 2 6

    八进制转十进制

    3 2 1 0 位数
    1 0 0 1 八进制数
    8^3^ 0 0 8^0^ = 513

    上面是个简单的例子,下面进阶一下

    3 2 1 0 位数
    3 0 0 5 八进制数
    3*8^3^ 0 0 5*8^0^ = 1541

    总结: 原数 * 8的n次方(位数=n)


    十六进制

    十六进制就是逢十六进一

    f 9 9 1
    1 2 9 c
    1 0 c 2 d

    因为我们要把数字转为十六进制,所以大于等于10的数字我们用字母代替

    A为10,B为11以此类推

    十六进制转十进制

    3 2 1 0 位数
    1 0 0 1 十六进制数
    16^3^ 0 0 16 = 4097
    3 2 1 0 位数
    0 2 4 0 十六进制数
    0 2*16^2^ 4*16^1^ 0 = 576

    总结: 原数 * 16的n次方(位数=n)


    十进制转X进制

    二进制

    将要转换的数字直接除二,最后商为0为止

    要转换的数字 余数
    56 28 0
    28 14 0
    14 7 0
    7 3 1
    3 1 1
    1 0 1

    所以56的二进制是111000(从下往上排列)

    八进制

    要转换的数字 余数
    99 12 3
    12 1 4
    1 0 1

    所以99的八进制是143(从下往上排列)

    十六进制

    要转换的数字 余数
    498 31 2
    31 1 15
    1 0 1

    所以498的十六进制是1f2(从下往上排列)


    二进制,八进制,十六进制之间的转换

    二进制和八进制

    八进制的1位对应二进制的3位

    二进制>>八进制

    10111101010101010010101

    • 我们把这个二进制数字进行分组,每组3位

    可以分为

    010 111 101 010 101 010 010 101

    • 然后按照二进制规律转换

    分别对应2 7 5 2 5 2 2 5

    这个数字就是八进制数

    八进制>>二进制

    1 2 4 5 6 7

    • 直接把每位数字对应的数进行转换,使用二进制规律8,4,2,1

    分别对应,也是从右往左

    001 010 100 101 110 111


    二进制和十六进制

    二进制>>十六进制

    十六进制的1位对应二进制的4位

    010111101010101010010101

    • 我们把这个二进制数字进行分组,每组4位

    可以分为

    0101 1110 1010 1010 1001 0101

    • 然后按照二进制规律转换

    分别对应5 e a a 9 5

    十六进制>>二进制

    9 a 8 f 7

    • 直接把每位数字对应的数进行转换,使用二进制规律8,4,2,1

    分别对应,也是从右往左

    1001 1010 1000 1111 0111

    扩展

    八进制和十六进制

    我们要把欲转换的数字转换为二进制,然后再进行转换

    八进制>>十六进制

    37231

    • 转为二进制

    11111010011001

    • 转为十六进制,分组每组4位

    0011 1110 1001 1001

    对应的数为3 e 9 9

    十六进制>>八进制

    8fc6

    • 转为二进制

    1000111111000110

    • 转为八进制,分3组每组3位

    001 000 111 111 000 110

    对应的数为:1 0 7 7 0 6

  • 相关阅读:
    面向服务的体系架构 SOA(三) --- Zookeeper API、zkClient API的使用
    面向服务的体系架构 SOA(二) --- 服务的路由和负载均衡
    面向服务的体系架构 SOA(一) --- 基于TCP、HTTP协议的RPC
    eclipse集成dorado5插件
    java微信公众号开发token验证失败的问题及解决办法
    oracle使用中的一些问题
    JAVA设计模式之装饰者模式
    JAVA设计模式之观察者模式
    JDBC三层架构
    如何使用JDBC实现数据访问对象层(DAO)
  • 原文地址:https://www.cnblogs.com/huanhao/p/binary.html
Copyright © 2011-2022 走看看