zoukankan      html  css  js  c++  java
  • 第一节课:进制转换

    一、数制

         计算机中采用的是二进制,因为二进制互有运算简单,易实现且可靠,为逻辑设计提供了有利的途径、节省设备等优点 ,为了便于描述,又常用八、十六进制作为二进制的缩写。一般技术都采用进位计数:其特点是:

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

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

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

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

    (2)数制转换:不同进位数制之间的转换原则:不同进位计数制之间的转换是根据两个有理数如果相等,则两数的整数和分数部分一定分别相等的原则进行的。也就是说,若转换前两数相等,转换后仍必须相等

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

          二进制:有两个基数:0,1(小于2)

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

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

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

    (1)与二进制之间的转换

          a.十进制转二进制(0,1)

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

          例如:7的二进制为111    7除以2  商3余1 ,3继续除以2,商1余1     则7的二进制数是111

           36的二进制为100100    36除以2,商18余0,18继续除以2,商9余0,9除以2,商4余1,4除以二,商2余0,2除以2,商1余1  倒过来写出36的二进制为100100

           b.二进制转十进制

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

           二进制转十进制是从最右边的数值开始依次向左进行转换,即a代表最右边的数值

           例如:1011001转换为十进制为89

           计算公式:1*20+0*21+0*22+1*23+1*24+0*25+1*26=89  

    (2)与八进制之间的转换

            a.十进制转八进制(0,1,2,3,4,5,6,7)

            十进制数逐次整除以8,直至商为0

            例如:49写成八进制是61    49除以8,商6余1

                 125 写成八进制是175    125除以8,商15余5,15继续除以8,商1余7  倒过来写出125的八进制为175

            b.八进制转十进制(同二进制转十进制)

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

            例如:2137向右转换为十进制为1119

            计算公式:7*80+3*81+1*82+2*83=1119

    (3)与十六进制之间的转换

           a.十进制转十六进制[0—9,A,B,C,D,E,F(A=10,B=11,C=12,D=13,E=14,F=15)]

           十进制数除以16,至商为0,所的余数按相反方向写出即为十六进制数

           例如:75的十六进制为4B        75除以16   商4余11  11写作B反过来写成4B

                 296的十六进制为128     296除以16,商18余8,18继续除以16,商1余2  反过来写作128极为296的十六进制

           b,十六进制转为十进制(同二进制、八进制一样)

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

           例如:1BC2写作十六进制为7106

           计算公式:2*160+12*161+12*162+1*163=7106

    三、二进制与八进制、十六进制之间的转换

    (1)二进制与八进制之间的转换

           a.二进制转换为八进制

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

           例如:001   101     111      011   

                  1      5        7       3              即1 101 111 011的八进位制数为1573

           b.八进位制数转换为二进位制数

           将每位八进制由三位二进制代替即可

           例如:3     7      6     2

                11     111   110  010                   即3762转换为二进制数为11 111  110 010

    (2)二进制与十六进制之间的转换

           a.二进制转十六进制(以每四位二进制数为一组,依次向左进行转换)

           例如:1001    0111    0111    1001

                   9       7       7       9              即1001 0111 0111 1001的十六进制为9779

           b.十六进制转换为二进制(将每一位十六进制数用4位二进制数来代替)

           例如:8          7           6         5

                1000        0111       0110        0101             即8765转换为二进制为1000 0111 0110 0101

  • 相关阅读:
    十一.状态设计模式
    十. 享元设计模式
    Orcale(一)概念
    java类加载器
    spring中的事务管理机制
    spring中的annotation注解类配置
    countDownLatch和Semaphore用于多线程
    布隆过滤器
    mybatis-genator自动生成的mapper中模糊查询使用方法
    java中的异常
  • 原文地址:https://www.cnblogs.com/sunhan1012/p/4916092.html
Copyright © 2011-2022 走看看