进制转换及其在程序设计中的应用 教学优秀论文

减小字体 增大字体 作者:本站收集整理  来源:本站收集整理  发布时间:2011-09-09 16:52:12

二进制转换成十六进制:因为每四位二进制可以用一位十六进制来表示,所以只要把每四位二进制数用十六进制表示出来,连接起来就是这个二进制数的十六进制形式。

例:将二进制数101110010.101111转换成十六进制。

我们作如下处理:

0001,0111,0010.1011,1100

  1     7     2 . B     C

所以(101110010.101111)2=(172.bc)16

注意:

(1)整数部分由个位数开始由右向左每四位为一组,不足四位左边补0;

(2)小数部分由十分位数开始由左向右每四位为一组,不足四位右边补0。

十六进制转换成二进制:每位十六进制可以用四位二进制来表示,因而只要从高位到低位,把十六进制的每个数码用四位二进制表示出来,就是十六进制数的二进制形式。

例:把十六进制数A2B.C5转换成二进制。

A2B.C5

1010,0010,1011.1100,0101

因此,(A2B.C5)16=(101000101011.11000101)2

 

二、进制转换在程序设计中的应用

有些问题用搜索或其他方法比较复杂,用进制转换的思想与方法可以使问题简单并容易实现,进制转换在程序设计中广泛应用,下面结合两个实例加以说明。

例1:取苹果问题

有K箱苹果,分别装有1,2,4,8,……,2K-1个苹果,现要从中取出N个苹果出来,取果的规则是要么一个也不取,要么取完这一箱苹果。从键盘输入N和K,编程序求出该取哪几箱苹果?如果无法按要求取出苹果,则输出“NO!”。

  分析:

因为任何一个十进制数都可以转化为二进制数,如:

(13)10=(1101)2=1*23+1*22+0*21+1*20  即要取13个苹果可以取1,4,8箱的苹果,当S>1+2+4+8+……+2K-1 时无法按要求取得。因此,问题转化为将N转化为二进制,即可找到取苹果方案。

程序如下:

program aplle;

 var k,n,ru:iinteger;

t,I,j,bj:integer; s:longint;

A,b:array[1..100] of  integer;;

Begin

 Write(‘k=’);readln(k);

 Write(‘n=’); readln(n);………………………………【全文请点击下载word压缩文档】
点击下载此文件

上一页  [1] [2] 

Tags:

作者:本站收集整理
  • 好的评价 如果您觉得此新频道好,就请您
      0%(0)
  • 差的评价 如果您觉得此新频道差,就请您
      0%(0)

新频道评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论