zoukankan      html  css  js  c++  java
  • 二进制与八进制、十六进制数之间的转换

    为了区分不同进制的数,人们习惯在一个数的后面加上字母D(十进制)、B(二进制)、O(八进制)、H(十六进制)来表示其前面的数用的是哪种进位制。

    二进制:

    基数为2,即“逢二进一”。它含有两个数字符号:0,1。位权为2^i

    特点:

    1、简单可行:二进制仅有两个数码“0”和“1”,可以用两种不同的稳定状态如高电位和低电位来表示。

    2、运算规则简单。以加法为例,0+0=0,1+0=1,0+1=1,1+1=10(逢二进一)。11+101=1000

    缺点:

    二进制数字冗长、书写量过大、容易出错、不便阅读。所以计算机文献中,常用八进制或十六进制表示。

    八进制:

    基数为8,即“逢八进一”。它含有8个数字符号:0、1、2、3、4、5、6、7。位权为8^i

    十六进制:

    基数为16,即“逢十六进一”。它含有16个数字符号:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。其中A、B、C、D、E、F表示十进制数10,11,12,1,314,15。位权为16^i

    (1)二进制转换为八进制

    方法:从小数点开始分别向左、向右按每三位一组划分,不足三位的组以“0”补足。然后将每组3位二进制数用与其等值的一位八进制数字代替即可。

    以11101010011.10111B划为八进制为例

           011 101  010  011 . 101 110

            ↓       ↓       ↓      ↓       ↓     ↓

            3       5      2      3    .  5      6

    故原二进制数转换为3523.56O

    (2)八进制转换为二进制

    方法:每一位八进制数用等值的三位二进制数表示。

    例:将477.563O 转换为二进制数

      4     7     7    .    5      6     3

      ↓     ↓     ↓          ↓      ↓      ↓

    100  111  111      101  110   011

    故原八进制转换成二进制得10 0111 1111.1011 1001 1B

    (3)二进制转换为十六进制

    方法:从小数点开始分别向左、向右按每4位二进制数一组划分,不足4位的组以“0”补足然后将每组4为二进制数代之以1位十六进制数字表示即可。

    例:将二进制1111101011011.10111B转换为十六进制数

      0001 1111 0101 1011.1011 1000

         ↓        ↓      ↓      ↓       ↓        ↓

         1       F      5      B      B       8

    即所得十六进制数为1F5B.B8H

    (4)十六进制转换为二进制

    方法:把每一位十六进制数用等值的4位二进制数表示

    例:将6AF.C5H转换为二进制数。

         6         A           F  .     C          5

        ↓           ↓           ↓         ↓         ↓   

    0110     1010      1111  .  1100  0101

    即所得的二进制数为110 1010 1111.1100 0101B

     

  • 相关阅读:
    Git学习笔记
    利用GitHub Pages和Hexo搭建个人博客
    dpkg的用法
    Ubuntu 16.04安装有道词典
    Linux 命令之删除命令
    Linux 命令之权限修改
    PHP学习记录第一篇:Ubuntu14.04下LAMP环境的搭建
    ubuntu时钟不显示的解决方法
    kali linux 2.0安装sublime text 2
    折腾kali linux2.0
  • 原文地址:https://www.cnblogs.com/py2019/p/12186711.html
Copyright © 2011-2022 走看看