免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 887 | 回复: 0
打印 上一主题 下一主题

数制及其转换 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-02-27 16:33 |只看该作者 |倒序浏览

   任何一种数制表示的数都可以写成按位权展开的多项式之和。
   N=dn-1bn-1+dn-2bn-2+dn-3bn-3+……d-mb-m式中:n——整数的总位数。
           m——小数的总位数。
           d下标——表示该位的数码。
           b——表示进位制的基数。
           b上标——表示该位的位权。
  1.计算机中常用的进位计数制
计数制     基数            数    码                         进位关系
二进制       2            0、1                              逢二进一
八进制       8            0、1、2、3、4、5、6、7              逢八进一
十进制       10           0、1、2、3、4、5、6、7、8、9         逢十进一
十六进制     16           0、1、2、3、4、5、6、7、8、9
                         A、B、C、D、E、F                     逢十六进一
  2.计数制的书写规则(1)在数字后面加写相应的英文字母作为标识。   
  如:二进制数的100可写成100B           十六进制数100可写成100H
  (2)在括号外面加数字下标。   如:(1011)2  表示二进制数的1011
  (2DF2)16 表示十六进制数的2DF2
  3. 数制之间的转换:  (1)十进制整数转换为二进制整数
  采用基数2连续去除该十进制整数,直至商等于“0”为止,然后逆序排列余数。
  (2)十进制小数转化为二进制小数
  连续用基数2去乘以该十进制小数,直至乘积的小数部分等于“0”,然后顺序排列每次乘积的整数部分。
  (3)十进制整数转换为八进制整数或十六进制整数
  采用基数8或基数16连续去除该十进制整数,直至商等于“0”为止,然后逆序排列所得到的余数。
  (4)十进制小数转换为八进制小数或十六进制小数
  连续用基数8或基数16去乘以该十进制小数,直至乘积的小数部分等于“0”,然后顺序排列每次乘积的整数部分。
  (5)二、八、十六进制数转换为十进制数
  用其各位所对应的系数,按“位权展开求和”的方法就可以得到。其基数分别为2、8、16。
  (6)二进制数转换为八进制数
  从小数点开始分别向左或向右,将每3位二进制数分成1组,不足3位数的补0,然后将每组用1位八进制数表示即可。
  (7)八进制数转换为二进制数
  将每位八进制数用3位二进制数表示即可。
  (8)二进制数转换为十六进制数
  从小数点开始分别向左或向右,将每4位二进制数分成1组,不足4位的补0,然后将每组用一位十六进制数表示即可。
  (9)十六进制数转换为二进制数
  将每位十六进制数用4位二进制数表示即可。
  【例2.1】将十进制整数(105)10转换为二进制整数,采用“除2倒取余”的方法,过程如下:
2 ︳105                                 
2 ︳52         余数为1
  2 ︳26        余数为0
   2 ︳13       余数为0
    2 ︳6       余数为1
     2 ︳3      余数为0
      2 ︳1     余数为1
          0     余数为1
                所以:(105)10=(1101001)2
  【例2.2】将十进制小数(0.8125)10转换为二进制小数,采用“乘2顺取整”的方法,过程如下:
0.8125×2=1.625   取整数位1
0.625×2=1.25     取整数位1
0.25×2=0.5       取整数位0
0.5×2=1.0        取整数位1
              所以:(0.8125)10=(0.1101)2如果出现乘积的小数部分一直不为“0”,则可以根据精度的要求截取一定的位数即可。

  【例2.3】将十进制整数(2347)10转换为十六进制整数,采用“除16倒取余”的方法,过程如下:
16 ︳2347  
16 ︳146         余数为11(十六进制数为B)
  16 ︳ 9         余数为2
        0         余数为9
             所以:(2347)10=(92B)16


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/59646/showart_485019.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP