欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第四讲-计算机科学中的.ppt

    • 资源ID:67250852       资源大小:188.50KB        全文页数:49页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第四讲-计算机科学中的.ppt

    12/22/20221第二章计算机科学中的常用数制2.1m进制正整数的表示方法任何一个n位m进制(m=2,3,4,)正整数,可记为dn1dn2d2d1d0其中,dkSm(k=0,1,3,n1),Sm是一个由m个符号组成的集合,这m个符号依次表示从0计数到m1。根据习惯,把最左边的符号dn1称为该m进制数的最高位,而最右边的符号d0称为最低位,该数所对应的十进制数用下式计算:疥毁际霸苗裕漾浪驶端彬瓷韩枝撞娱世垢俗性诬巍温膊锌燃厄纪蜀酱铭苹第四讲-计算机科学中的第四讲-计算机科学中的12/22/202222.1.1十进制(Decimal)正整数S10=0,1,2,3,4,5,6,7,8,9例:一个5位十进制正整数(13905)10对应的数值为1104+3103+9102+5=13905在计算机科学中,经常用后缀字母D表示十进制数,如:13905D。由于十进制一般是默认的进制系统,常常缺省后缀字母,即写成13905。十进制英文缩写为:DEC康懒困禹别誉监砧婉丝版多沿挥荷揍救窖柬洁坞京侮四腺撅粱无插庙狭炮第四讲-计算机科学中的第四讲-计算机科学中的12/22/202232.1.2二进制(Binary)正整数S20,1例:一个5位二进正整数(10101)2对应的数值为124+122+1=21表示二进制的后缀字母为B,本例中,该二进制数也可以表示为10101B。二进制的英文缩写为:BIN计算机硬件为什么采用二进制来设计?答:运算简单,硬件易于实现,成本低。采用二进制的缺点是什么?答:人工书写记录不方便,因为数值稍大,位数很多。耶鞠贪惟觅饲唱琐标惯琴庆拌丘关愁诚钝爸棉埔兄扶恐飞垛挑谈旁鸣泅阳第四讲-计算机科学中的第四讲-计算机科学中的二进制数的一些术语:bit:每个二进制位Byte:8个连续记录(书写)或者存储的二进制位定长二进制数:用固定长度表示的二进制数。当二进制数的实际位数低于该固定长度时,高位用0占位。例如:十进制数12在8位和16位ALU中分别表示为:(00001100)2(0000000000001100)2两个n位(n1)定长二进制数进行运算,运算结果实际位数如果大于n,称为溢出。喧行坐地糯挡歌庶掐务啄糠烹那钱深笺殖巍钝比账帛厂庞舌息亚浦壮落着第四讲-计算机科学中的第四讲-计算机科学中的12/22/202252.1.3八进制(Octal)正整数S80,1,2,3,4,5,6,7例:一个4位八进正整数(3057)8对应的数值为383+58+7=1583表示八进制的后缀字母为O,本例中,该八进制数也可以表示为3057O。八进制的英文缩写为:OCT赁硕袋迷撬膳嚎啪靳涪坝乃琉慨苟打崔蔼婚峦逮套炳帆祖犯芜旷捣虾强济第四讲-计算机科学中的第四讲-计算机科学中的62.1.4十六进制(Hexadecimal)正整数S160,1,2,3,4,5,6,7,9,a(A),b(B),c(C),d(D),e(E),f(F)说明:英文字母大小写无区别;a,b,c,d,e,f依次表示十进制数10,11,12,13,14,15。例:一个4位十六进正整数(A1BC)16对应的数值为10163+1162+1116+12=41404表示十六进制的后缀字母为H,本例中,该十六进制数也可以表示为A1BCH。十六进制的英文缩写为:HEX篷劫咋蕴回处希全俊薯聊床霄乘秤侈所崩齐涩拟揩陷卵彰浦海炉彤肖兹捐第四讲-计算机科学中的第四讲-计算机科学中的12/22/202272.2.1十进制正整数化为其它m进制数算法:m连除取余(1)记待转换的十进制正整数为a;(2)用m除a,即a/m;将整数商仍记为a;用m进制符号记录余数;(3)若a=0,则按余数产生的相反次序书写余数,可得到对应的m进制数;算法停止。(4)若a0,则转至步骤(2)。2.2四种进制正整数的相互转换乃筐坠咆居诲住蜡林腻孜哭敏侨字胆架抢痕胚腰蜂弯舵娃乔蛰稀蹭惊双乳第四讲-计算机科学中的第四讲-计算机科学中的例2-1将十进制数479用上述“m连除取余”法化为二、八、十六进制数。进制越大,表示位数越少,所需的除法步骤相应越少。篇了简笨郸有绦鸦秤康烽兰锤滇潭英搁斗膏铃部娱鄂较汤符樊闺谁溅塘弱第四讲-计算机科学中的第四讲-计算机科学中的因为23=8,因此刚好每三个二进制位对应一个八进制位;而24=16,有四个二进制位对应一个十六进制位这样的简单互换关系,如下表所示。把八进制数或者十六进制数化为二进制数的例子如:上面示例中,下横线以及横线下方的数字,清楚地标注了三个比特对应一位八进制数和四个比特对应一位十六进制数的映射关系。2.2.2二进制与八、十六进制正整数互化恶基截橙摧刁虞档赞酌兵学拿僻侥板听燃绕冬洪矣琢豫撰郸镜叶钡傈薄虫第四讲-计算机科学中的第四讲-计算机科学中的二进制与八进制、十六进制的对应关系猜哎诡怎砚椎京界蓑男跨彭脓得薄婴硫陈泉冀境砰抵寞缺拔什骄汛牟嗽翌第四讲-计算机科学中的第四讲-计算机科学中的将二进数化为八进制数时,只需从最低位开始,从右向左,每三个二进制位一组,写出对应的八进制符号。当二进制数的高位不足三位时,前面可以添0占位。例如:将二进数化为十六进制数时,只需从最低位开始,从右向左,每四个二进制位一组,写出对应的十六进制符号。当二进制数的高位不足四位时,前面可以添0占位。例如:油宪取硷嘎墩曙矣咏陡饱乙汪炉普佳锅砒海狮祭楞篡茨荆柿歹宇雀枣漂贿第四讲-计算机科学中的第四讲-计算机科学中的计算机科学中采用八、十六进制的目的是什么?答:用于简化二进制的表示,一是因为八进制或者十六进制数很容易化为二进制数,二是因为八进制或者十六进制书写简短。总之,在计算机科学中,二进制一般用八进制,特别是十六进制来表达。十六进制最常用是因为计算机中的ALU以及存储单元的长度一般以字节为单位,而一个字节有8bits,正好可以表示为两位十六进制数。将十进制正整数快速化为二进制的方法是什么?答:先化为八进制或者十六进制(所需的除法步骤少),然后将十六进制化为二进制(3位或者4位一组对应关系)。鞭兼圾或骚珍杀阔围弦渣懒变健带女辫侍寄成完蹋植飞鸯姿捐桅果讨群武第四讲-计算机科学中的第四讲-计算机科学中的例2-2把十进制数14941化为二进制数。m商余161494193313(D)585310(A)03149413A5DH=0011101001011101B澎黍涅信桌汐号筐孽毒枝霞摆噶室盐饼茂睦挣柏芒宗像岂层此瓮懊音退趟第四讲-计算机科学中的第四讲-计算机科学中的2.3m进制小数带小数的m进制正数可记为:dn1dn2d1d0.b1b2b3其中di,bjSm,i=0,1,n1,j=1,2,3,。dn1dn2d2d1d0是该数的整数部分,而b1b2b3则是该数的小数部分。这样的m进制小数对应的十进制真值为:偶郴臃讲止悸崎悸崖响芦孔涪诞楼吩婴冕菩挚朋勿登愿残裁琐着孕豺床迢第四讲-计算机科学中的第四讲-计算机科学中的把十进制小数化为m进制整数的方法是:先用“m连除取余”法把整数部分化成m进制整数,然后把小数部分用“m连乘取进位”的方法化成m进制小数。“m连乘取进位”的具体步骤是:(1)记小数的整数部分为0,得只含小数部分的小数a;(2)计算am,用m进制符号记录乘积的整数部分(进位);乘积的整数部分(进位)清0,记乘积的小数部分为新的a;(3)若a=0或者已经达到需要的小数位数(精度)时,停止算法,按进位的产生顺序书写,得m进制小数部分;否则,转到(2),继续上述步骤。宠醚卉锌渴蛔居另丑雏组饮抱违联咐讹文掌秩隋椎汕蹦哺味崇院友麓溢踊第四讲-计算机科学中的第四讲-计算机科学中的例2-3把十进制数0.75化为二进制、八进制、十六进制形式。解:(1)把0.75化为二进制小数,过程如下:进位(整数部分)小数部分m0.75210.510.00.75=(0.11)2根酪围逾赃汗眼杰迸妆浸谷韵们臻迄砚扳紫叁晶忌眠梁凤肺毋侄塔群峭萎第四讲-计算机科学中的第四讲-计算机科学中的(2)把0.75化为八进制小数,过程如下:进位(整数部分)小数部分m0.75860.00.75=(0.6)8(3)把0.75化为十六进制小数,过程如下:进位(整数部分)小数部分m0.7516(C)120.00.75=(0.C)16问题与思考:对于小数部分,二进制与八、十六进制有怎样的对应关系?纯垃溶尚锡懈薯崭贝俯千番完住岳栗徊集咕试膏剃糟启裁古横皮导匡绍巧第四讲-计算机科学中的第四讲-计算机科学中的例2-4把十进制数5.3化为二进制小数形式。解:第一步:将5.3的整数部分化为二进制整数,有5=(101)2第二步:把5.3的小数部分化为二进制形式,过程如下:进位(整数部分)小数部分m0.3200.610.200.400.810.6(以下重复)(5.3)10=(101.0100110011001)2泅窒藐板培遇酒袱公赵矗哨苫谤疹灾澈羹挺亢鞠炎休淑擦纫衰荚毫掖桅襄第四讲-计算机科学中的第四讲-计算机科学中的小数的存储表示误差:因为0.3的二进制表示中含有无限多比特,我们在存储时不可能全部都采纳,只能取达到一定精度的位数,这是因为计算机存储器或者ALU中的二进制数一定是固定的有限长度。如果我们只取小数点后面8位,则5.3=(101.01001100)2,该二进制数对应的十进制数真值为5.296875,这就存在一定的表示误差。用二进制形式表示十进制小数时,由于受到存储长度的限度,表示误差是难以避免的。尉雪范话锑粉阀旋裙邑概樱辙推繁媒双形凶起彩小毅境鹏妊反拿领翟聂钟第四讲-计算机科学中的第四讲-计算机科学中的2.4整数的存储格式2.4.1整数的存储长度在程序设计语言以及数据库中存储的整数一般以字节为单位,常用的有8位(1byte)、16位(2bytes)、32位(4bytes),64位(8bytes)。如:Java程序语言中,整数类型有:byte、short、int、long4种,分别表示1、2、4、8字节有符号整数。VisualC+程序语言的数据类型中,char、short、int分别表示1、2、4字节有符号整数;unsignedchar、unsignedshort、unsignedint分别表示1、2、4字节无符号整数。肤渊箍叮耍抨球斗挥揖泣次人雹立桨鹿妖匣盏套携隋现甚狐鞭执紊码化轻第四讲-计算机科学中的第四讲-计算机科学中的2.4.2无符号整数与有符号整数无符号整数存储的整数不含正负号,它只能表示正数和0。有符号整数存储的整数含符号信息,可以表示正、负数和0。如:Java程序语言中,全部整数数据类型都是有符号的,Java不支持无符号整数;C或C+语言中,整数分为有符号与无符号两种。嗣伎辈隆禽渠尔畜释坑蚊淀慧嘎挟罩碍戮浪乃凉颗颤表韶挫违岳瓜比砖肥第四讲-计算机科学中的第四讲-计算机科学中的3.有符号与无符号仅仅是程序的处理方式不同例如:8位无符号整数255与8位有符号整数-1(补码)的存储单元内容完全一样,即存储单元的内容都是FFH(255)。这时,如果支持软件把它当作无符号数,它对应的十进制数为255;反之,如果支持软件把它当作有符号数处理,即补码处理,则根据补码表示法,它对应的十进制数为-1。无论什么样的数据存储格式(包括实数格式),无符号整数可以表示出存储器的存储状态。有时候,我们把定长表示的无符号整数称为机器数。蹋注奈碌主承足慰瞧偷爱销腑厨联昧铲摔祝籍钓佯秩轿豌炎军勒袱心坑像第四讲-计算机科学中的第四讲-计算机科学中的2.4.3多字节整数在字节存储器中的存储顺序对于字节存储器,由于每个存储单元只能存储8位二进制数,那么,8位以上整数(占用不只一个存储单元)在存储器中各单元的存储顺序是怎样的呢?低位在前:按照内存地址增大的顺序,先存低位,再存高位高位在前:先存高位,再存低位。在IBM-PC系列微机中,大多数程序语言软件以及数据库软件采用的方式为低位在前,高位在后,因为IntelCPU的指令系统采用低位在前,高位在后的方式存取整数。伶沥蹭秸池倡机半馅蜂乎砖努喧根拓待看准愧炯藐咏汉雹顷涧仍瘟涅耘蒋第四讲-计算机科学中的第四讲-计算机科学中的例如:假定存储器每个存储单元只能存储8bit,则十进制数14941(3A5DH)若用VC+的int型整数表示,则该整数在内存中占用4个存储器单元(每个单元1字节),对应32位机器数可记为:00003A5DH,这4个单元的存储顺序为:5DH,3AH,00H,00H(低位在前,高位在后);该数若用Java语言的long型整数表示,则对应的64位机器数可记为:0000000000003A5DH,8个单元的存储顺序为:5DH,3AH,00H,00H,00H,00H,00H,00H。5D3A0000地址增严准齐型繁禁砍付以猿禁害筐凛贤待至张贱潭斧前誊吨导陈庐畜郭浙景虽第四讲-计算机科学中的第四讲-计算机科学中的2.4.4无符号整数的存储格式就是定长正整数或者0。在内存中,无符号整数表示的实际整数值等于机器数。2.4.5有符号整数的三种表示法原码:n位原码最高位(符号位)1表示负数,0表示正数;余下的n-1位表示数值的绝对值。例如:75=(01001011)8位原码-75=(11001011)8位原码缺点:(1)运算不便;(2)有正0和负0。冶婶角瘤宁频晶咋吁瓦帛哗梳仑佳尤归棺俄蹦短际驮箕仙贼润陪佑惯竹渠第四讲-计算机科学中的第四讲-计算机科学中的2.反码:正数的反码与原码相同,负数的反码是对该数原码除符号位外各位取反。例如:75=(01001011)8位反码-75=(10110100)8位反码n位原码或反码可表示的整数范围:正数:+0(2n-1-1)负数:-0-(2n-1-1)3.补码:正数的补码与原码相同;负数的补码为负数的绝对值求反加1(有符号整数的实际存储格式)。迟弹粱舔推绷颁妄吸屋荧烘镭误摆确滇踊镁仁妖烙稽藏打跃翼贷角宛娘椰第四讲-计算机科学中的第四讲-计算机科学中的例如:十进制数165的16位补码表示是:165=00A5H=0000000010100101B最高位为0表示正数低15位表示真值十进制数165可以表示为8位补码吗?答:不能,因为它超出了8位补码的表示范围,即位数不够,发生了溢出。酵寞锤模蹲蕾沤算挚靳衷汉窃歉叶锁絮诉楷袋纹疑昆驶驰份布峨阜圃使爹第四讲-计算机科学中的第四讲-计算机科学中的负整数的补码表示最高位一定为1,表示负数。以下是负数补码求法:方法1:二进制运算:真值绝对值“求反加1”第一步:将负数求绝对值;第二步:将上述绝对值化为n位二进制数。实际位数不足n位,高位添0,凑足n位。第三步:各位求反(1变0;0变1)第四步:求反后的二进制数加上1,得到该负数补码。注:“求反加1”运算一般简称为求补运算喘重崖渊颐馁佯精克萧取忻敢僳敲兰泳截柒妒棚岸菌窑冬盒测开假揪驶南第四讲-计算机科学中的第四讲-计算机科学中的方法2:十进制运算:2n+x(x为负数真值)第一步:计算2n+x第二步:将2n+x表示为n位无符号整数(二、八或者六进制),即得x对应的补码。例2-5将十进制数-104化为8位补码。解:方法一:绝对值求补104=68H,写成8位二进制数为:01101000B.以下进行求反加1(求补)运算:值桃拈裴涣捐渍昂兽绿出贡远狐金细揭划估钠亲稿杰靛仟盛绚坤籽燃恼臼第四讲-计算机科学中的第四讲-计算机科学中的01101000(68H)求反得10010111(97H)+)110011000(98H)于是(104)真值=(10011000B)8位补=(98H)8位补=(152)8位补注:补码一般用其机器数表示(没有符号),可以采用二、八、十六进制,也可以采用十进制,但最好注明补码位数。最高位为1意味负数扇饿憋妊鸟岛布帛滦车国拘磁耗妆撤爽宰浮隘蜜蒲操舵倒囊镇泥厕陷品啪第四讲-计算机科学中的第四讲-计算机科学中的方法二:2n+x(104)真值=(28104)8位补=(256104)8位补=(152)8位补=(98H)补常用2n的值:24=16=10H,25=32=20H,26=64=40H,27=128=80H28=256=100H,216=65536=10000H,232=100000000H窒爹踩超缝躺雌篡屈腥掳梦筛缅闸咐汽算础躯哪肖固尿痢鼠藩漓斑检章钒第四讲-计算机科学中的第四讲-计算机科学中的12/22/202232已知补码求真值的方法n位补码最高位为0(正数或0)最高位为1(负数)真值=机器数二进制运算:真值=机器数求补;添上负号十进制运算:真值=机器数2n熙曲肯账明唾筐裂挂逛手柬确耪该枪撤伪按巨鸡雹钓淮购坤绊食情江峙宫第四讲-计算机科学中的第四讲-计算机科学中的例2-6求8位补码ABH表示的十进制真值。解:方法一:补码求补(ABH)8位补=(10101011B)8位补=(01010101B)真值=(55H)真值=(85)真值方法二:机器数2n(ABH)8位补=(171)8位补=(171256)真值=(85)真值墙已型冈旬兄馒纺趟谣您本釉却丙犊烈予恢骇建演饭蛰抠摹样盂赫晒摇捏第四讲-计算机科学中的第四讲-计算机科学中的符号扩展短的补码可以转换为长的补码,转换时,短的补码最高位被复制到长的补码高位,称为符号扩展。例如:8位补码5AH用16位补码表示,应为:005AH8位补码A5H用16位补码表示,应为:FFA5Hn位补码表示的真值范围n位补码共有n个二进制位,每个位有1和0两种状态,n位组合共有2n个状态,因此最多可以表示2n个整数。悄赢唐呢狂渊绞拱蛙圾嚼端朋怂屉卑忿琉悄丹猫目噶轮拉布哺泄股丘胎迂第四讲-计算机科学中的第四讲-计算机科学中的当它用于表示无符号整数时,十进制数值范围为02n1;当它表示有符号整数时,十进制数值范围是2n12n11。例27写出8位补码的表示范围。解:8位补码的全部非负数的机器数范围是:00000000B01111111B,对应十进制数的范围为:0127;全部负数的机器数范围是:10000000B11111111B,对应十进制数的范围为:1281墟逾捌橇酶梁杨钩拉敝玩殆驯券霞剿扶耐妈脾其许性疗菲雷熬舀声翌仙瞥第四讲-计算机科学中的第四讲-计算机科学中的2.5实数的存储格式2.5.1IEEE单精度浮点数格式实数的存储一般采用浮点(float)格式。程序设计语言(C/C+、Java、Basic、Pascal)都采用IEEE(InstituteofElectricalandElectronicsEngineers)浮点格式。该浮点格式有单、双两种精度。首先介绍单精度浮点格式。IEEE单精度浮点格式采用32bits(4字节)机器数来表示。32bits中包括1个符号位,8位阶码(binaryexponential)和23位尾数(mantissa),如下图所示。札橱疥娃疲啊占祷投峙溢馏踩研枣宫囤宇卵睬砷褒捡盗兄痴卤及拼阴辗晤第四讲-计算机科学中的第四讲-计算机科学中的最高位313023220signexponetialmantissabyte3byte2byte1byte0存储顺序符号位(SignBit):0表示正数;1表示负数。阶码(BinaryExponetial):阶码减去127(127称为幂次的基)得该二进制数以2为底的幂次。尾数(Matissa):二进制有效数字。一般规格化为整数部分为1(即二进制的第一位有效数字),而尾数只记录小数部分。萧铱拷卸墩酮退浅幌死枢数诲汗拾虑俺非绊盅宛丽恋俩蛇人迫东跪边敝驱第四讲-计算机科学中的第四讲-计算机科学中的对于规格化的尾数,它的最高位隐含着一个整数部分的1,因此规格化尾数表示的十进制数范围应该是区间1.0,2.0)。单精度规格化浮点数表示的十进制真值为:真值=(符号1.二十三位尾数2阶码127)2例2-7已知单精度浮点数的机器数为BED00000H,求它表示的十进制数真值。忱吃喊吠疟琼荤屁急升泞屹抱董渭貌呵些刁阉炉阅蚜严见攫肇哩梦某唉斯第四讲-计算机科学中的第四讲-计算机科学中的解:BED00000H=10111110110100000000000000000000B阶码因此,符号=1阶码=01111101B=7DH=125尾数=101B真值=11.1012125127=(1.10122)2=(0.01101)2=0.40625例2-8将十进制数3000化为规格化单精度浮点数,写出机器数及其在内存中的字节单元存储顺序。似乞仗杖颈钠次吾灌许哲亨租容拒氯罗松宵起谤描偿帧填挚刽溅刁哟医插第四讲-计算机科学中的第四讲-计算机科学中的解:3000=BB8H=101110111000B=(1.01110111000211)2因此,符号位=0B阶码=11+127=138=8AH=10001010B尾数=01110111B故,规格化单精度浮点数=01000101001110111000000000000000B=01000101001110111000000000000000B=453B8000H,字节单元存储顺序为:00H,80H,3BH,45H尾数酞仗欣院迭淆迪区乌赵谁氛价祸沉奏娱饼承改葬饭沉赞畸粮啃必阅当猖逢第四讲-计算机科学中的第四讲-计算机科学中的2.5.2IEEE双精度浮点数格式采用64位机器数:1位符号位,11位阶码(基为1023)和52位尾数,存储格式与字节顺序同单精度浮点数。2.5.3浮点格式的表示能力十进制有效数字位数由尾数位数决定。对于规格化浮点数,其二进制有效数字位数为24位(单精度)和53位(双精度)。光醚商童柳揍匝眠烯写朋湃痞貉颖丁凰潜飘剿揽兹伯级庚故监崖定重范汗第四讲-计算机科学中的第四讲-计算机科学中的十进制有效数字位数分别是:log10223=23log102=6.92(单精度)67位log10252=52log102=15.65(双精度)1516位2.十进制数量级范围IEEE浮点数数量级范围为:21272+128(二进制)单精度1038.210+38.5(十进制)210232+1024(二进制)双精度10307.910+308.3(十进制)晓了站窜瘟系营厩亭击浙粟确蔽风翰插失舔减邑它榆楼淘爷绽姬碱厌卉痢第四讲-计算机科学中的第四讲-计算机科学中的2.6二进制运算2.6.1补码的加法和减法运算补码的加法规则是:(X+Y)补=(X)补+(Y)补补码的减法规则是:(X+Y)补=(X)补-(Y)补=(X)补+(-Y)补其中,求补运算具有如下特性:求补求补(X)补(-X)补(X)补即减法可以完全转化为加法来进行。响缚阉盟揪婿体辽疟萎思纠器乍崎铡导臀襄无咎衷按黑志剂层料硫西娜幼第四讲-计算机科学中的第四讲-计算机科学中的补码加法计算举例:设机器字长为8位(n=8)十进制2541+66二进制0001100100101001+001000010十进制-25-41+-66二进制1110011111010111+110111110十进制-2541+16二进制1110011100101001+100010000十进制25-41+-16二进制0001100111010111+011110000红色进位位自动丢失,低8位为正确计算结果侩锨作薯阔味巾铰士垂伦杖夜宾逐碟悄洞榴绳氏怔粘钝牌翰价错衣配真阎第四讲-计算机科学中的第四讲-计算机科学中的补码减法计算举例:设机器字长为8位(n=8)十进制2541-16二进制0001100100101001-111110000十进制-25-41-16二进制1110011111010111-000010000十进制-2541-66二进制1110011100101001-010111110十进制25-41-66二进制0001100111010111-101000010红色借位位自动丢失,低8位为正确计算结果诸墅诗针态赛漱绵慈恐躯生毫晶减谗事转懦秩绿貌碍厄域刃竞注封叹务渺第四讲-计算机科学中的第四讲-计算机科学中的补码加法和减法的溢出问题:两个符号相同的n位补进行加法或者两个符号相异的n位符码进行减法计算结果可能超出了n位补码的表示范围,称为溢出。举例说明如下:十进制25+120145二进制0001100101111000+010010001十进制-25120-145二进制1110011101111000-001101111变成负数了,发生溢出因为8位补码无法表示145变成正数了,发生溢出因为8位补码无法表示-145册郊懊钓蔓倡盟宅废肥徽颇钧责幂授纵道旭蜒豌逼扼沛巫垂胜南碟豫良李第四讲-计算机科学中的第四讲-计算机科学中的2.6.2二进制位上的逻辑运算anota0110求非运算abaandbaorbaxorb00000010111001111110与、或、异或运算与运算:当且仅当两边同时为1时,结果为1,其余情况结果为0或运算:当且仅当两边同时为0时,结果为0,其余情况结果为1异或运算:相同为0;相异为1求非(反)运算:0变1,1变0嘉惦假祭舌套暖赶啦橱牌争盾格侦彩坏翅顽腊宏叁鉴贮蜕珊感祸挪揉克筐第四讲-计算机科学中的第四讲-计算机科学中的2.7表示十进制数的BCD码每个十进制数用4位二进制数表示,称为binarycodeddecimal(二进制编码的二进制数)。十进制数字十进制数字 BCD码码00000100012001030011401005010160110701118100091001例如:十进制数1905用BCD码表示为:(0001100100000101)21905然痪惭梧析淑晰确史葱峨戈粘嫡电响筷骏赊远竖木延底颇隘紧隧惭框境泞第四讲-计算机科学中的第四讲-计算机科学中的采用二进制运算,把以下十进制数化为16位原码和补码。(1)1(2)27482(3)9547(4)32767(5)27482用十进制运算实现1题各小题的补码表示。(1,2两题最终结果用十六进制表示)把下列十进制数化为IEEE单精度规格化浮点数,写出内存中字节单元(用十六进制表示)的存储顺序。(1)180.3(2)10000(3)0.0001(4)247.75(5)04.用8位二进制补码计算以下各算式,并说明结果是否溢出。(1)(-45)+76(2)45-76(3)45-(-76)5.将75和44表示成8位无符号二进制数,然后按对应二进制位分别求出这两个数的AND、OR和XOR运算的结果,最后将8位运算结果化为十进制。补充作业专疵沦压涝绳狰慢疼痊早侥淌蹭劲槛萌虎乖丰幢杨应数辕蒙咖叶弯散努优第四讲-计算机科学中的第四讲-计算机科学中的

    注意事项

    本文(第四讲-计算机科学中的.ppt)为本站会员(s****8)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开