美文网首页
二进制与其他进制的相互转化

二进制与其他进制的相互转化

作者: 忆昔溪 | 来源:发表于2020-12-12 02:32 被阅读0次

二进制与十进制的相互转化

  • 二进制转化成十进制
    • 方法:小数点往左第1位是2的0次方,第2位是2的1次方,第3位是2的2次方,第N位的是2的N-1次方。小数点往右第1位是2的-1次方,第2位是2的-2次方,第N位的是2的-N次方。把最后的结果相加的值就是十进制的值了。
    • 例子:将二进制的101011.101转换为十进制的步骤如下:
      • 一、计算小数点左边:1+2+0+8+0+32=43
        • 第0位 1 x 2^0 = 1;
        • 第1位 1 x 2^1 = 2;
        • 第2位 0 x 2^2 = 0;
        • 第3位 1 x 2^3 = 8;
        • 第4位 0 x 2^4 = 0;
        • 第5位 1 x 2^5 = 32;
      • 二、计算小数点右边:0.5+0+0.125=0.625
        • 第1位 1 x 2^-1 = 0.5;
        • 第2位 0 x 2^-2 = 0;
        • 第3位 1 x 2^-3 = 0.125;
      • 三、把上述两步的结果相加就得到我们要的十进制数:43+0.625=43.625
  • 十进制转化成二进制
    • 方法:整数部分采用除2取余,逆序排列,即把整数部分去除以2,得到的商继续除2,直至商为0,把每一步的余数逆序排列构成二进制数的整数部分。小数部分采用乘2取整,顺序排列,即把小数部分去乘2,得到的结果的小数部分继续乘以2,直至结果的小数部分为0.0,把每一步结果的整数部分顺序排列构成二进制数的小数部分。
    • 例子:将十进制的43.625转换为二进制的步骤如下:
      • 一、整数部分转化为二进制:101011
        • 43÷2,商21,余1
        • 21÷2,商10,余1
        • 10÷2,商5,余0
        • 5÷2,商2,余1
        • 2÷2,商1,余0
        • 1÷2,商0,余1
      • 二、小数数部分转化为二进制:101【注意:次数可以计算步骤很长,我们适当取几位小数即可】
        • 0.625*2=1.25,小数部分0.25,整数部分为1
        • 0.25*2=0.5,小数部分0.5,整数部分为0
        • 0.5*2=1.0,小数部分0.0,整数部分为1
      • 三、把上述两步的结果综合起来就得到了我们想要的二进制数:101011.101
    • 延伸:对于整数部分,我们也可以适当记住2的N次方的结果,以便快速算出整数部分
      • 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
      • ...
        • 我们以十进制数1000为例子:29+28+27+26+25+23 = 1000,我们可以这样看:
          • 2^9 = 512,取用填1
          • 2^8 = 256,取用填1
          • 2^7 = 128,取用填1
          • 2^6 = 64,取用填1
          • 2^5 = 32,取用填1
          • 2^4 = 16,取用填0
          • 2^3 = 8,取用填1
          • 2^2 = 4,取用填0
          • 2^1 = 2,取用填0
          • 2^0 = 1,取用填0
            我们把结果顺序排列就得到了我们想要的二进制数:1111101000

二进制与八进制的相互转化

首先我们记住这个表,可以更快捷计算在二进制与八进制切换,左边二进制数,右边八进制数:
000 = 0
001 = 1
010 = 2
011 = 3
100 = 4
101 = 5
110 = 6
111 = 7

  • 二进制转化成八进制
    • 方法:小数点往左依次取3位,不足在左边加0,参考上表转化成一个八进制数,得到的结果逆序排列。小数点往右依次取3位,不足在右边加0,参考上表转化成一个八进制数。
    • 例子:将二进制的101011.101转换为八进制的步骤如下:
      • 一、计算小数点左边:53
        • 011 = 3
        • 101 = 5
      • 二、计算小数点右边:0.5
        • 0.101 = 0.5
      • 三、把上述两步的结果相加就得到我们要的八进制数:53+0.5=53.5
  • 八进制转化成二进制
    • 方法:小数点往左依次取1位,参考上表转化成一个二进制数,得到的结果逆序排列。小数点往右依次取1位,参考上表转化成一个二进制数。
    • 例子:将八进制的53.5转换为二进制的步骤如下:
      • 一、计算小数点左边:101011
        • 3 = 011
        • 5 = 101
      • 二、计算小数点右边:101
        • 0.5 = 0.101
      • 三、把上述两步的结果综合得到我们要的二进制数:101011.101

二进制与十六进制的相互转化

首先我们记住这个表,可以更快捷计算在二进制与八进制切换,左边二进制数,右边八进制数:
0000 = 0
0001 = 1
0010 = 2
0011 = 3
0100 = 4
0101 = 5
0110 = 6
0111 = 7
1000 = 8
1001 = 9
1010 = a
1011 = b
1100 = c
1101 = d
1110 = e
1111 = f

  • 二进制转化成十六进制
    • 方法:小数点往左依次取4位,不足在左边加0,参考上表转化成一个八进制数,得到的结果逆序排列。小数点往右依次取4位,不足在右边加0,参考上表转化成一个八进制数。
    • 例子:将二进制的101011.101转换为八进制的步骤如下:
      • 一、计算小数点左边:2b
        • 1011 = b
        • 0010 = 2
      • 二、计算小数点右边:0.5
        • 0.1010 = 0.a
      • 三、把上述两步的结果相加就得到我们要的八进制数:2b+0.a=2b.a
  • 十六进制转化成二进制
    • 方法:小数点往左依次取1位,参考上表转化成一个二进制数,得到的结果逆序排列。小数点往右依次取1位,参考上表转化成一个二进制数。
    • 例子:将十六进制的2b.a转换为二进制的步骤如下:
      • 一、计算小数点左边:00101011
        • b = 1011
        • 2 = 0010
      • 二、计算小数点右边:1010
        • 0.a = 0.1010
      • 三、把上述两步的结果综合得到我们要的二进制数:00101011.1010

相关文章

  • 9月9日笔记

    9月9日学习笔记 十六进制与十进制,十六进制与二进制的相互转化 在计算机中的数据,最终都以二进制的形式存在,进行数...

  • 数据结构-利用栈将二进制转化为十进制

    利用栈的结构特点将二进制转化为其他进制

  • 二进制与其他进制的相互转化

    二进制与十进制的相互转化 二进制转化成十进制方法:小数点往左第1位是2的0次方,第2位是2的1次方,第3位是2的2...

  • 10/17

    今天老师讲了进制转换和位运算。进制转换就是二进制、八进制、十进制、十六进制的相互转化,位运算包括按位与,按位或,异...

  • python实现十进制转化成二进制

    十进制转化为二进制,其中二进制为反序 十进制转化为二进制,其中二进制为正序

  • C++ 字符串与二进制、八进制、十进制、十六进制之间的相互转换

    1. 十进制与二进制相互转换 1)十进制->二进制 2)二进制->十进制方法一: 方法二: 2. 字符串与二进制之...

  • 字符串转二进制

    JS字符串与二进制的相互转化12345 //字符串转ascii码,用charCodeAt(); //ascii码转...

  • 常量与进制转换

    常量类型 进制转换 1、十进制与二进制之间的转换 2、八进制与十进制、二进制之间的转化 3、十六进制与十进制、二进...

  • 技术问 - 进制转换

    二进制转化成八进制 二进制转化成十六进制 任意进制转化为十进制 利用十进制转化十进制,推导出按权求和规律 按权求和...

  • C#二、十、十六进制相互转换

    1、十进制int转化为二进制字string 2、二进制字string转化为十进制int 3、十六进制int转化为二...

网友评论

      本文标题:二进制与其他进制的相互转化

      本文链接:https://www.haomeiwen.com/subject/zhvpektx.html