[工学]第1章 计算机中的数制和编码2010.pptVIP

[工学]第1章 计算机中的数制和编码2010.ppt

  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文档。上传文档
查看更多
[工学]第1章 计算机中的数制和编码2010

保留版权 (C)YuHaiChen Email:yhc@126.com BBS:Epson 敬请指正 第一章 数制与编码 ——计算机中信息的表示与运算 数制及其转换——正整数 带符号数的表示 小数的表示 二进制数的运算 十进制数和文字符号的编码 ??? 计算机就是一台信息处理机器,对信息进行算术或逻辑处理。信息分为两大类:数值和字符,它们在计算机中均以二进制数形式表示。 平时,大家在键盘上输入的十进制数字和符号命令,微型计算机都必须先把它们转换成二进制形式进行识别、运算和处理,然后再把运算结果还原成十进制数字和符号在CRT上显示出来或用打印机打印出来。 数制之间转换 10→2:整数部分:除2取余,直到商为0。 小数部分:乘2取整,直到要求精度。 2→10:用公式展开。 2→16:以小数点为界,整数向左,小数向右,四位一段,不够4位补0,四位2进制数转一位16进制数。 16→2:一位十六进制数用四位二进制数等价表示。 §2 带符号数的表示——编码方法 真值:以人们习惯的自然方式表示的十进制数,称为该数的真值。譬如:+123, -86, -12.3。 机器数:在计算机中,将一个数连同其符号用二进制数来表示,这样的二进制数称为机器数。譬如 0101101011010011。 如何确定一个机器数的真值? 如何分辨一个机器数的正负? 如何分辨一个机器数的小数位置? 这些问题都取决于机器数的编码规则! 三种码制之间的关系 特点: 正数:原-反-补相同; 负数:原-反-补不同,但最高位均为1。 负数的变换关系: 原 反:符号位不变,尾数按位求反; 原 补:符号位不变,尾数按位求反+1; 正数补 负数补:连符号位一起求反加1(用0减); §3 小数的表示 在计算机中,用二进制表示实数的方法有两种,即定点法和浮点法。 定点法:即小数点在数中的位置是固定不变的。以定点法表示的实数称作定点数。 浮点法:类似于十进制数的科学表示法,小数点的位置是浮动的,且由阶数来指示。以浮点法表示的实数称作浮点数。 1. 定点数 设有一个8位定点补码数,小数点隐含地固定在第4位:如1101.1101B 代表 -2.1875。 特例1——定点小数: 特例2——定点整数: 优缺点:简单直观,但精度低、不便标准化处理。 浮点数具有范围大、精度高的优点。譬如,16位实数: 为了保证计算精度,保留最多有效位数,通常采用规格化浮点数。即在运算中,通过修改阶码,使尾数的绝对值始终大于等于0.5,即数值的最高位保持为1。 浮点数在加减运算前,要先对阶。 §4 二进制数的运算 1. 运算特点 为了提高计算速度、合理分配内存和使用寄存器,参与运算的所有数(变量)都必须事先规定字长和类型。而且,参与运算的两个数必须具有相同的字长和类型。 字长:字节、字、双字、四字 字长一定,数的范围就有限。如果运算结果超出这个范围,就会产生溢出,造成结果错误。 类型:自然数、整数、实数 以C语言程序为例——例1:字长不够 Main( ) { unsigned char x,y,z; x=123; y=67; z=x*y; Printf(“%d”,z); } 运算结果:49 运算结果的来历: 123 = 0111‘1011B 67 = 0100’0011B 123*67= 8241= 2031H 即123*67= 0010‘0000’0011‘0001B 而0011‘0001B=49 以C语言程序为例——例2:类型不符 Main( ) { unsigned char x,y,z; x= -12; y= 7; z= x*y; Printf(“%d”,z); } 运算结果:172 2. 运算标志 进位(借位):两个二进制数加(减)法运算,最高位出现的进位(借位)现象。 在多字节数加(减)法中,低位字节向高位字节的进(借)位是必须考虑的。因此,在计算机中,都设有一个位存储单元来保留进(借)位,称作进位标志(CF—Carry Flag)。 溢出:溢出是针对有限字长的补码运算而言的。当两个补码数的运算结果超出字长所能表示的范围时,运算结果将出错,不仅数值不对,而且性质(正/负)也不对。在计算机中,也设有一个位存储单元来保留溢出位,称作溢出标志(OF—Over Flag)。 3. 补码运算 在计算机中,自然数的运算规则与十进制数是相同的。对于整数,只要采用补码

文档评论(0)

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

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

1亿VIP精品文档

相关文档