- 1、本文档共75页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2章 数据的存储与运算
张莉娜
软件工程系
2.1 计算机中的数制
2.2 计算机的存储与表示
2.3 数据运算
主要内容
2.1 计算机中的数制
在日常生活中经常要用到各种数制,最常用的是我们所熟悉的十进制记数法。除了十进制外,还有许多其他的记数方法。例如,12个月是1年,用的是十二进制; 60分钟是1个小时,用的是六十进制; 7天是1个星期,用的是七进制。这些记数方法都有其共同的特点和运算规律。在计算机领域常见的有二进制、八进制、十六进制等。
2.1.1 进位记数制
所谓进位记数制是指按进位的原则进行记数。常用的进位记数制有十进制、二进制、八进制、十六进制等。
下面首先介绍几个概念:
基数: 某种数制中使用的数字的个数。例如: 十进制数的基数是10,二进制数的基数是2,八进制数的基数是8,十六进制数的基数是16。
数位: 在某种数制中,数字在一个数中所处的位置称为数位。例如十进制数中包含的个位(0)、十位(1)、百位(2)、千位(3)等。
位值: 位值也叫权(或者位权),任何一个数都是由一串数字(符号)表示的,其中每一位所表示的值除其本身的数值外,还与它所处的位置有关,由位置决定的值就叫权。不同进制中的权是不一样的,例如,十进制数中的100 、101、102…,二进制数中的20、21、22…,八进制数中的80、81、82…,十六进制中的160、161、162…。
例 2-1 任意给定一个二进制数(11011.101)2,这个数的各位权表示如下:
数 1 1 0 1 1 1 0 1
数位 4 3 2 1 0 -1 -2 -3
权 24 23 22 21 20 2-1 2-2 2-3
即(11011.101)2 =1×24+1×23+0×22+1×21+1×20+1×2-1+0×2-2+1×2-3
由此我们可以得出一个结论: 对于M位进制,整数的权为Mi,从右向左,i=0,1,2,3…; 小数的权为M-i,从左向右,i=1,2,3…。
表 2-1 常用进制及其区别
2.1.2 数制之间的转换
为了书写、阅读方便,用户在编程时一般使用八进制、十进制、十六进制的形式表示一个数,而计算机中存储和处理的数据都为二进制数,因此各种进制的数之间经常需要转换。
下面给出各种数制之间的转换方法。
1. 将R进制转换为十进制
将R进制数转换为等值的十进制数,只要将R进制数按位权展开,再按十进制运算规则运算即可。
例 2-2 将二进制数(11011.101)2转换为十进制数。
(11011.101)2 =1×24+1×23+0×22+1×21+1×20+1×2-1+0×2-2+1×2-3 =(27.875)10
例 2-3 将八进制数(1507)8转换为十进制。
(1507)8 =1×83+5×82+0×81+7×80
=512+320+0+7 =(839)10
例 2-4 将十六进制数(2AF5)16转换为十进制数。
(2AF5)16 =2×163+A×162+F×161+5×160
=8192+2560+240+5 =(10997)10
2.将十进制转换为R进制
将十进制数转换成R进制数,需要将十进制数的整数部分和小数部分分别进行转换,然后合并。
1) 整数部分的转换
十进制数整数转换成R进制数,采用逐次除以基数R取余数的方法(简称为“除基取余”)。
其步骤如下:
(1) 将给定的十进制整数除以R,余数作为R进制数的最低位。
(2) 将前一步的商再除以R,余数作为次低位。
(3) 重复(2)步骤,记下余数,直至最后商为0,最后的余数即为R进制的最高位。
2) 小数部分的转换
十进制数纯小数转换成R进制数,采用将小数部分逐次乘以基数R取整数的方法(简称为“乘基取整”)。
其步骤如下:
(1) 将给定的十进制数的纯小数部分乘以R,取乘积的整数部分作为R进制的最高位。
(2) 将前一步的乘积的小数部分继续乘以R,取乘积的整数部分作为R进制的次高位。
(3) 重复(2)步骤,记下整数,直至最后乘积为0或达到一定的精度为止。
注意: 所有的十进制整数都能准确地转换成二进制整数,而十进制小数不一定能精确地转换成二进制小数。
例 2-5 把十进制数(69.8125)10转换为二进制数。
解:
方法: 整数部分除2取余,小数部分乘2取整。
过程如下:
例2-6 把十进制数(69.8125)10转换为八进制数。
解:
方法: 整数部分除8取余,小数部分乘8取整。
过程如下:
3.非十进制间的转换
通常,可以先将被转换数转换为相应的十进制
文档评论(0)