一种将十进制数转换成R进制数的新算法.docVIP

一种将十进制数转换成R进制数的新算法.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种将十进制数转换成R进制数的新算法   摘要:该文论述了一种新的方法,就是如何将带有小数的十进制数直接转换成其他进位计数制,而不用再将其分成整数部分和小数部分,采用的基本运算法则是减法。   关键词:进制转换;减法   中图分类号:TP301.6文献标识码:A文章编号:1009-3044(2010)13-3477-02   A New Algorithm to achieve the conversion from decimalization number to R number system   HU Xue-dan, GUAN Yu-ling, ZHANG Jing   (Computer Office, Aviation University of Air Force, Changchun 130022, China)   Abstract: This paper has developed a new method to achieve the conversion from decimalization number with decimal to R number system, while, it is not necessary to devide it into integer part and decimal part with subtraction as the basic operating principle.   Key words: conversion of number systems; subtraction   1 概述   在以往的进制转换中,进行带小数的十进制数向其它进位计数制转换时,都要将其分成整数部分和小数部分,在整数部分用“除R取余法”,结果倒序排列;在小数部分用“乘R取整法”。这样不仅麻烦,而且容易出错。   2 减幂法   对于任意一个十进制数用Z代表整数部分序列,用X代表小数部分序列,即   。   令   在上式中ri为R进制数的位权,pi为商,可以通过下面的算法来实现十进制向R进制数的转换:   首先,判断A的值,如果,则令A也就是Z.X 减去ripi(i∈Z)得到的差为Ai;将减数ripi分别写在减式的左边,再让Ai减去ri-1pi-1,直到差为0;从上到下取pi的值,得到的就是要求的R进制数。   具体过程如图1。   得到的结果pipi-1…p0.p-1pj 就是一个R进制数。从这里我们可以看出,如果一个数是R进制的位权的线性组合,那么它就可以转换成R进制数。在做第一次减法的时候,就能知道要转换的R进制数的最高位权位i,整数部分有i+1位。下面来看一个将十进制转换成R进制的实例:   例:将十进制数136.125分别转换成二、八、十六进制   如图2~图4所示。   在图2中从上至下取pi则001这就是要求得二进制数;在图3中从上向下取pi则得210.1,这就是要求的八进制数;在图4中从上向下取pi则得88.2,这就是要求的十六进制数。对于其他进位计数制,道理是一样的。   3 优点   1) 整数和小数部分统一,不易出错;   2) 对数有整体把握,计算过程易于理解;   3) 可以直接明确最高位权,确定整数部分的位数。   例如想知道(1234)10转换成二进制数有多少位,判断   2101234211,所以(1234)10 转换成二进制数有11位;再比如(987654321)10转换成二进制有多少位,初步判断,987654321是一个9位十进制数,每十位二进制数表示的十进制数稍大于103,所以知道987654321肯定小于230的值是1024×1024×1024,而大于229的值是1024×1024×512,可以初步判断987654321大于229而小于230,所以,(987654321)10转换成二进制数有30位。   4 结束语   利用减幂法实现十进制向R进制的转换,最关键的是初步判断,初步判断之后就可以判断R进制数的整数部分的位数;减幂法另一个关键之处是记住R进制数各个位权的十进制的值,比如,看到1024就知道它是210,掌握了这一点之后就可以熟练使用减幂法了。   参考文献:   [1] Behrouz A Forouzan. 刘艺,段立,钟维亚, 等译. 计算机科学导论(Foundations of Computer Science:Form Data Manipulation to Theory of Computation)[M].北京:机械工业出版社,2004.   [2] 贾新宇.大学计算机基础[M].北京:中国水利水电出版社, 2008. 3

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档