zoukankan      html  css  js  c++  java
  • 十进制、二进制、八进制、十六进制互相转换

    十进制数由0~9共10个数字字符组成,在十进制数的每一位上满十进一,在十进制每一位中表示最大数字为9.

    二进制数由0和1两个数字字符组成,在二进制中“逢二进一”,在二进制每一位中表示最大数字为1.

    八进制是由0~7共8个数字字符组成,在八进制中“逢八进一”,在八进制中每一位中表示最大数字为7.

    十六进制是由0~9、A、B、C、D、E、F共16个字符组成,在十六进制中“逢十六进一”,在十六进制中最大的数是F。

    首先,讲讲十进制转二进制:

    例: 十进制要转二进制

    就拿55除以2

    55/2=27余1,在拿27除以2,27/2=13余1,在拿13除以2,13/2=6余1,在拿6除以2,6/2=3余下0,在拿3除以2,3/2=1余1,

    那么十进制55转换成二进制就是110111

    十进制转八进制

    例子:十进制534转八进制

    拿534除以8,534/8=66余6,在拿66除以8等于8余2,在拿8除以8等于1余0,那么十进制534转八进制就是1026.

     

    十进制转十六进制

    例子:十进制300转十六进制

    拿300除以16的等于18余12(12在16进制中以C表示,10为A,B为11,一直到F为15),在拿18除以16等于1余下2,在拿1除以16,等于0,不用表示,那么十进制300转换为十六进制的结果为12C。

     

    二进制转换为十进制

    例子:111=1*4+1*2+1*1=7;

    它有个对照表:

    1

    1

    1

    1

    1

    1

    1

    1

    128

    64

    32

    16

    8

    4

    2

    1

    看二进制有多少位,对照表然后在拆开来相加。

     

    二进制转换为八进制

    有个方法,把二进制的数从右往左,三位一组,不够补0

    列:111=4+2+1=7

    11001拆分为 001和011,001=1,011=2+1=3;

    那么11001转换为八进制就是31.

     

    二进制转换为十六进制

    参照二进制转八进制,但是它是从右往左,四位一组,不够补0

    列子:1101101拆分为1101、0110

    分别计算两个二进制的值,1101=8+4+0+1=13,十六进制中13为D

    0110=4+2=6,那么二进制1101101转换为十六进制就是6D。

    八进制转换为二进制

    从后往前,每一位按十进制转化为三位二进制,缺位补0

    列子:77,拆分开7=4+2+1=111

    所以八进制的77转换位二进制得111111.

     

    八进制转换为十进制

    列子:555=5*8的2次方+5*8的一次方+5=320+40+5=365;

    八进制转换位十六进制

    先要把八进制转换位2进制,然后在把二进制转换位十六进制

    例如:八进制721先转换为二进制,把一个个拆开

    7=111,2=010,1=001,

    得到二77进制111010001,然后转换为16进制,从右往左,四个一组,不够补0

    111010001 拆开为 0001,1101,0001

    0001=1,1101=8+4+1=13,十六进制的话,就为D,0001=1,那么转换为十六进制就是1D1

     

    十六进制转换为二进制

    把每一位数转换成二进制,每个数分四位,不足四位,前面补0

    列子:2FD,分别拆开,2=0010,F=15=1111,D=13=1101

    那么转换为二进制就得到 1011111101

     

    十六进制转换为八进制

    先将十六进制转换成二进制,(原则一位十六进制转四位二进制),在将二进制转换成八进制,(原则是从右往左三个,不够补0)

    列子: 十六进制的2FD转换二进制得1011111101,在将二进制1011111101转换为八进制,从右边往左,四个一拆分,不够补0

    1011111101拆分为 001,011,111,101,分别计算

    001=1,011=2+1=3,111=4+2+1=7,101=4+1=5,那么最后转换为八进制就得到1375.

    十六进制转换为十进制

    跟八进制转换为十进制类似

    列子:2D=2*16的一次方+13=2*16+13=45

    十六进制的2D转换为十进制得到十进制45

  • 相关阅读:
    C++ 类型别名typedef和using
    网页布局及响应式
    js上传图片预览
    bootstrap中-webkit-text-size-adjust :not()
    开始
    通过setDB2Client*来方便的使用TRACE调优jdbc程序
    关于携程的信息泄漏
    如何设置DB2I(SPUFI)来正常工作
    Limit the query running time with Resource limit facility (RLF)
    z/os上的tar和gzip(3)
  • 原文地址:https://www.cnblogs.com/jiangyongyawen/p/4241340.html
Copyright © 2011-2022 走看看