实验2 二进制和进制转换练习.docVIP

  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文档。上传文档
查看更多
实验2 二进制和进制转换练习 实验目的及要求 1. 学习二进制、八进制、十六进制,以及它们与十进制的相互转换方法。 2. 理解并模仿本课件中的例题,将二/十进制的相互转换方法推广到其它进制。 实验内容及步骤 1. 二进制的基本知识 ⑴ 什么是二进制 我们所熟悉的十进制,其特点可以归纳为以下三点: ① 用 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 十个数码的组合表示数; ② 逢十进一; ③ 任何一个整数可以表示为各个位的数码与10的位数 (从0起算) 次幂的乘积之和。例如十进制数1588可以表示为: (1588)10 = 1 ×103 +5 ×102 +8 ×101 + 8 ×100 我们将10称为十进制数的“基”。 推而广之,一个整数可以以任何整数为基,即 (Ⅰ) 其中D代表该整数,di是它的第i位数码,β是它的基。 如果以2为基的话,则该整数就是一个二进制数,例如: (1101)2 = 1×23 +1×22 +0×21 +1×20 = 13 其特点是: ① 用0和1两个数码的组合表示数; ② 逢二进一; ③ 任何一个整数可以表示为各个位的数码与2的位数 (从0起算) 次幂的乘积之和。 四位二进制数与十进制数的对应关系如下: 二进制 十进制 二进制 十进制 0000 0 1000 8 0001 1 1001 9 0010 2 1010 10 0011 3 1011 11 0100 4 1100 12 0101 5 1101 13 0110 6 1110 14 0111 7 1111 15 即四位二进制数可以表示0~15这16个十进制数。 ⑵ 八进制和十六进制 二进制是专门为计算机设计的,为了使人们能读懂并理解它,人们采取用一个数码表示3位或4位二进制所表示的8个或16个数的办法,就构成了八进制(Oct)和十六进制(Hex)。二进制、十进制、八进制和十六进制的对应关系如下: Bin Dec Oct Hex Bin Dec Oct Hex 0000 0 0 0 1000 8 8 0001 1 1 1 1001 9 9 0010 2 2 2 1010 10 A 0011 3 3 3 1011 11 B 0100 4 4 4 1100 12 C 0101 5 5 5 1101 13 D 0110 6 6 6 1110 14 E 0111 7 7 7 1111 15 F 注:Bin-二进制,Dec-十进制,Oct-八进制,Hex-十六进制 ⑶ 不同进制的相互转换 β进制数转换为十进制数,直接按公式(Ⅰ)计算便可。 十进制数转换为β进制数,需要用该十进制数被β连除,每次除得的余数即为自低位向高位排列的对应β进制数的各位。例如: 即十进制数127所对应的二进制数 由于1位八进制数对应3位二进制数;1位十六进制数对应4位二进制数,故八进制和十六进制与二进制的相互转换,只需自低位到高位,将1位八进制数或十六进制数与3位或4位二进制数按照上表对应关系直接转换便可,例如: 2. 实现二/十进制相互转换的简单程序 // 例1. 输入8位二进制数(从低位开始,每行一位),将其转换为十进制数输出。 int main(arraySystem::String ^ ^args) { short x, r = 0, sum = 0; Console::Write(请输入第{0}位二进制数:, r); x = Convert::ToInt16(Console::ReadLine()); sum += Int16(x * Math::Pow(2, r)); r++; Console::Write(请输入第{0}位二进制数:, r); x = Convert::ToInt16(Console::ReadLine()); sum += Int16(x * Math::Pow(2, r)); r++; Console::Write(请输入第{0}位二进制数:, r); x = Convert::ToInt16(Console::ReadLine()); sum += Int16(x * Math::Pow(2, r)); r++; Console::Write(请输入第{0}位二进制数:, r); x

文档评论(0)

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

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

1亿VIP精品文档

相关文档