zoukankan      html  css  js  c++  java
  • 进制转换

    一、数值与数制转换

    (一)、数制

    计算机中采用的是二进制,因为二进制具有运算简单,易实现且可靠,为逻辑设计提供了有利的途径、节省设备等优点。一般计数都采用进位计数:

    逢N进一,N是每种进位计数制表示一位数所需要的符号数目为基数。

    二进制:逢二进一,借一当二

    八进制:逢八进一,借一当八

    十六进制:逢十六进一,借一当十六

    (二)、数制转换

    转换原则:不同进位计数制之间的转换时根据两个有理数如相等,则两数的整数和分数部分一定分别相等的原则进行的,即转换前两数相等,转换后仍必相等。

    十进制:有10个基数:0,1,2,3,4,5,6,7,8,9

    二进制:有2个基数:0,1

    八进制:有8个基数:0,1,2,3,4,5,6,7

    十六进制:有16个基数:0——9,A,B,C,D,E,F(A=10,B=11,C=12,D=13,E=14,F=15)

    二、十进制与其他进制之间的转换

    (一)、十进制与二进制

    (1)十进制——二进制(取商补余)

    十进制数除以2,除至0时所得余数按反方向写出,即为二进制数。

    例:36除以2得出的商依次是          18  9  4  2  1

    所得余数依次是                         0  0  1  0  0  1

    将余数从右向左写                      1  0  0  1  0  0

    所得出的100100位二进制数

    (2)二进制——十进制

    计算公式:a*20+b*21+c*22+...+m*2(n-1)=

    以上公式中, a表示二进制数的右边第一位数,b 、c 、...、m 以此类推。

    例:1011001由右至左成为十进制为89

                1*20+0*21+0*22+1*23+1*24+0*25+1*26

              =1+8+16+64

              =89

    小技巧:为方便计算可将公式变为以下形式:(注:此小技巧仅适用于较小数字的计算)

    二进制右数位数

    1

    2

    3

    4

    5

    6

    7

    8

    十进

    制数

    1

    2

    4

    8

    16

    32

    64

    128

    公式原型

      20  

       21   

        22

       23 

        24

      25  

      26  

        27

    (二)、十进制与八进制

    (1)十进制——八进制

    十进制数逐次整除8,直至商为0,所得余数按照相反的顺序写出,即为其八进制数。(同十进制——二进制)

    (2)八进制——十进制(同 二进制——十进制)

    计算公式:a*80+b*81+c*82+...+m*8(n-1)=

    小技巧:

    从右第n位

    8

    7

    6

    5

    4

    3

    2

    1

      8(n-1)

     87   

      86

     85

     84

       83 

      82

      81  

      80  

    十进制下的实际数

    2097152

    262144

    32768

    4096

    512

    64

    8

    1

    (三)、十进制与十六进制

    (1)十进制——十六进制

    十进制数除以十六,

    0,1,2,3,4,5,6,7,8,9,A(10),B(11),C(12),D(13),E(14),F(15)

    十进制数逐次整除16,直至商为0,所得余数按相反顺序写出,即为其十六进制数。(同十进制——二进制)

    例:75除以16得出的余数为  11(B)   4

    余数从右向左写为4B(16)

    (2)十六进制——十进制(同 二进制——十进制)

    计算公式:a*160+b*161+c*162+...+m*16(n-1)=

    小技巧:

      163   

      162   

      161  

     160   

    4096

    256

    16

    1

    三、其他进制之间的转换

    (一)、二进制与八进制

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

    对于整数,采用从左到右每三位一组,不够三位的在其左边补齐0,每组单独转换出来,即为八进制数。

    例:(001     101     111     011)

               1        5        7         3

    所以,(1573)即为所得的八进制数。

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

    将每位八进制由三位二进制数代替,即可完成转换。

    例:(1      7      3      5)

        001    111    011    101

    所以,(1111011101)即为所得的二进制数。

    (二)、二进制与十六进制

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

    将二进制数的每四位用一个十六进制数码来表示,整数部分以小数点为界点从右往左每四位一组转换,小数部分从小数点开始自左向右每四位一组进行转换。

    例:(1001     0111     0111     1001)

                9         7           7          9

    所以,(9779)为所得的十六进制数。

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

    只要将每一位十六进制数用四位相应的二进制数表示,即可完成转换。

    例:(8        7        6        5)

       1000     0111     0110     0101

    所以,(1000011101100101)为所得的二进制数。

    综上所述,十进制可以与二进制、八进制、十六进制相互转换,二进制可以与八进制、十六进制相互转换。

  • 相关阅读:
    mysql 优化20点
    java function
    设计模式 概览
    Linux安装java1.8并配置环境变量
    windows下一次执行多个sql文件
    mybatis查询结果为空时的返回值问题
    Java中Json与String互转
    SSM Service自动注入失败
    本地安装Mysql5.7过程中出现的一系列问题
    解决本地工具无法连接服务器上的mysql的问题
  • 原文地址:https://www.cnblogs.com/H2921306656/p/5595286.html
Copyright © 2011-2022 走看看