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

    2.2 整数数据类型电子课件 计算机系统基础:C语言视角(RISC-V版).ppt

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

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

    2.2 整数数据类型电子课件 计算机系统基础:C语言视角(RISC-V版).ppt

    2.2 整数数据类型电子课件 计算机系统基础:C语言视角(RISC-V版)整数数据类型整数数据类型无符号整数无符号整数任务执行的次数任务执行的次数课程的选课人数课程的选课人数位置位置记记数法数法十进制十进制十进制系统十进制系统28628622002200,2 2 10102 28888 10101 1位置位置记记数法,或数法,或定位数制定位数制10,10,数制中的数制中的基数基数或基或基位置位置记记数法数法二进制二进制无符号整数无符号整数基数为基数为2 2,二进制数为,二进制数为0 0和和1 1使用使用8 8位位,十进制数十进制数字字303000011110000111100 0 2 27 7+0+0 2 26 6+0+0 2 25 5+1+1 2 24 4+1+1 2 23 3+1+1 2 22 2+1+1 2 21 1+0+0 2 20 0二进制二进制无符号整数无符号整数k k位数位数0 0 2 2k k-1-1,2 2k k个整数个整数K K=8=80 0 255255,256256个整数个整数有符号整数有符号整数k k位位,2 2k k个不同的数字个不同的数字,一半表示正数一半表示正数,一半表一半表示负数示负数K=4K=4+1+1 +7+7-1-1 -7-7剩下剩下2 2个个一个:一个:0 0-7-7 +7+7另一个:?另一个:?14个个如何分配?如何分配?+1+1 +7+7?-1-1 -7-7?正数正数位置位置记记数法数法k k位位0 0 2 2k k-1-1-1-1最高位最高位为为0 0k k4 4的正数的正数二进制表示二进制表示十进制十进制0000000011001020011301004010150110601117最大的正数最大的正数:7 7以以0 0开头开头负数负数原码原码二进制表示二进制表示十进制十进制00000000110010200113010040101501106011171000-01001-11010-21011-31100-41101-51110-61111-7k k4 4,-1-1 -7-7?最高位最高位0 0:正数正数(+)最高位最高位1 1:对应的负数对应的负数(-)负数负数反码反码二进制表示二进制表示十进制十进制00000000110010200113010040101501106011171000-71001-61010-51011-41100-31101-21110-11111-0k k4 4,-1-1 -7-7?对正数对正数“按位取反按位取反”计算计算4+(-3)4+(-3)采用与十进制加法相同的规则采用与十进制加法相同的规则原码表示法原码表示法01000100(4 4)+10111011(-3-3)=11111111(-7-7)反码表示法反码表示法01000100(4 4)+11001100(-3-3)=(1)0000=(1)0000(0 0)负数负数补码补码二进制表示二进制表示十进制十进制00000000110010200113010040101501106011171000-81001-71010-61011-51100-41101-31110-21111-1k k4 40 0 +7 7位置记数法位置记数法-8-8 -1-1尽可能使逻辑电路最简单尽可能使逻辑电路最简单算术逻辑单元算术逻辑单元算术逻辑单元(算术逻辑单元(Arithmetic and Logic UnitArithmetic and Logic Unit,ALUALU)两个输入和一个输出两个输入和一个输出不知道所加的两个位组合表示什么不知道所加的两个位组合表示什么采用与十进制加法相同的规则采用与十进制加法相同的规则A+(-A)=0A+(-A)=0 0101 0101(+5+5)+?(-5-5)=00000000(0 0)0101 0101(+5+5)+10111011(-5-5)=00000000(0 0)二进制表示二进制表示十进制十进制000000001100102001130100401015011060111710001001-71010-61011-51100-41101-31110-21111-11000?1000?在对每个数值在对每个数值加加00010001后,后,应得到正确的结果应得到正确的结果10001000:-8-8 1000 1000(?)+00010001(1 1)=10011001(-7-7)二进制表示二进制表示十进制十进制00000000110010200113010040101501106011171000-81001-71010-61011-51100-41101-31110-21111-111111111、00000000、01110111、1000100011111111和和00000000:-1-1和和0 0 1111 1111(-1-1)+00010001(1 1)=(1)(1)00000000(0 0)在做补码算术运算时在做补码算术运算时这个进位总是被忽略这个进位总是被忽略01110111:+7+710001000:-8-8二进制表示二进制表示十进制十进制00000000110010200113010040101501106011171000-81001-71010-61011-51100-41101-31110-21111-1K K位组合位组合-2-2k k-1-1 2 2k k-1-1-1-10 0后面跟后面跟k-1k-1个个1 1:2 2k k-1-1-1-11 1后面跟后面跟k-1k-1个个0 0:-2-2k k-1-1k k个个1 1:-1-1-A-A的表示的表示 A A+A A的反码的反码=11111111(-1-1)+00010001(1 1)=00000000(0 0)-A-A的表示的表示把把A A的反码加的反码加1 1“取反加取反加1 1”示例示例-6-6的二进制补码表示是什么(采用的二进制补码表示是什么(采用4 4位表示)?位表示)?1.A1.A:+6,0110+6,01102.A2.A的反码的反码 1001 10013.10013.1001+0001+0001=10101010(-6-6)验证验证 0110(6)0110(6)+1010(-6)+1010(-6)=(=(1 1)0000)0000二进制二进制-十进制十进制一个一个8 8位的二进制补码数采取如下格式:位的二进制补码数采取如下格式:a a7 7 a a6 6 a a5 5 a a4 4 a a3 3 a a2 2 a a1 1 a a0 01.1.检查最前面的检查最前面的a a7 70 0,正数,直接计算,正数,直接计算1 1,负数,负数,先先“取反加取反加1 1”2.2.计算计算a a6 6 2 26 6+a a5 5 2 25 5+a a4 4 2 24 4+a a3 3 2 23 3+a a2 2 2 22 2+a a1 1 2 21 1+a a0 0 2 20 03.3.如果原数值是负数,加一个负号前缀如果原数值是负数,加一个负号前缀 将二进制补码整数将二进制补码整数1111001011110010转换为十进制数值转换为十进制数值1.1.检查最前面检查最前面一位一位1 1,负数,负数,先先“取反加取反加1 1”00001110000011102.2.计算计算 1 1 2 23 3+1+1 2 22 2+1+1 2 21 1=14143.3.原数值是负数,加负号前缀原数值是负数,加负号前缀“-14-14”示例示例十进制十进制-二进制二进制如果一个如果一个正正的二进制数的最右端的数字为的二进制数的最右端的数字为1 1,这个数为,这个数为奇数奇数;否则为;否则为偶数偶数8 8位二进制数(正数)位二进制数(正数)a a6 6 2 26 6+a a5 5 2 25 5+a a4 4 2 24 4+a a3 3 2 23 3+a a2 2 2 22 2+a a1 1 2 21 1+a a0 0 2 20 0如何找到如何找到a ai i(i=0i=0,1 1,66)的值?)的值?示例示例:+123:+123正数,最高位正数,最高位a7a7:0 0123=a123=a6 6 2 26 6+a+a5 5 2 25 5+a+a4 4 2 24 4+a+a3 3 2 23 3+a+a2 2 2 22 2+a+a1 1 2 21 1+a+a0 0 2 20 0奇数,奇数,a a0 0:1 1在等式两端同时减去在等式两端同时减去1 1122=a122=a6 6 2 26 6+a+a5 5 2 25 5+a+a4 4 2 24 4+a+a3 3 2 23 3+a+a2 2 2 22 2+a+a1 1 2 21 1在等式两端同时除以在等式两端同时除以2 261=a61=a6 6 2 25 5+a+a5 5 2 24 4+a+a4 4 2 23 3+a+a3 3 2 22 2+a+a2 2 2 21 1+a+a1 1 2 20 0奇数,奇数,a a1 1:1 1在等式两端同时减去在等式两端同时减去1 160=a60=a6 6 2 25 5+a+a5 5 2 24 4+a+a4 4 2 23 3+a+a3 3 2 22 2+a+a2 2 2 21 1在等式两端同时除以在等式两端同时除以2 230=30=a a6 6 2 24 4+a a5 5 2 23 3+a a4 4 2 22 2+a a3 3 2 21 1+a a2 2 2 20 0a a2 2=0=015=15=a a6 6 2 23 3+a a5 5 2 22 2+a a4 4 2 21 1+a a3 3 2 20 0a a3 3=1=17=7=a a6 6 2 22 2+a a5 5 2 21 1+a a4 4 2 20 0a a4 4=1=13=3=a a6 6 2 21 1+a a5 5 2 20 0a a5 5=1=11=1=a a6 6 2 20 0a a6 6=1=1二进制表示为二进制表示为 0111 1011 0111 1011除除2 2取余取余 2 2 123123 余数余数 2 2 6161 1 1 低位低位 2 2 3030 1 1 2 2 1515 0 0 2 2 7 7 1 1 2 2 3 3 1 1 2 2 1 1 1 1 0 1 0 1 高位高位将余数从高位向低位依次排列将余数从高位向低位依次排列11110111111011正数正数,最高位为最高位为0 0二进制表示为二进制表示为 0111 1011 0111 1011总结总结十进制数十进制数N N,k k位位补码表示补码表示1.1.将将N N的绝对值的绝对值“除除2 2取余取余”,得到其绝对值的,得到其绝对值的二进制表示;二进制表示;2.2.如果原来的十进制数为正,在二进制数前加如果原来的十进制数为正,在二进制数前加0 0,得到结果;,得到结果;3.3.如果原来的十进制数为负,在二进制数前加如果原来的十进制数为负,在二进制数前加0 0 ,再,再“取反加取反加1 1”,得到结果。,得到结果。算术运算算术运算加法运算加法运算从右到左进行,每次一位从右到左进行,每次一位每次运算,产生一个每次运算,产生一个“和和”与一个与一个“进位进位”进位在进位在1 1的后面产生的后面产生0011(3)+0100(4)0111(7)减减法运算法运算0111(7)0111(7)-0100(4)+1100(-4)(1)0011(3)x x+x x把一个数把一个数x x加上它自身加上它自身 00111101(61)00111101(61)+00111101(61)+00111101(61)01111010 01111010数字向数字向左移左移了一位了一位61+6161+616161可以表示为可以表示为0 0 2 26 6+1 1 2 25 5+1 1 2 24 4+1 1 2 23 3+1+1 2 22 2+0+0 2 21 1+1 1 2 20 0616161=261=2 6161,可以表示为,可以表示为2 2(0(0 2 26 6+1 1 2 25 5+1 1 2 24 4+1 1 2 23 3+1+1 2 22 2+0+0 2 21 1+1 1 2 20 0)也就是也就是0 0 2 27 7+1+1 2 26 6+1+1 2 25 5+1+1 2 24 4+1+1 2 23 3+0+0 2 22 2+1+1 2 21 1每位上的数字都向左移了一位每位上的数字都向左移了一位恰当的位数恰当的位数为减少占用空间,采用恰当的位数表示数值为减少占用空间,采用恰当的位数表示数值6 6用用4 4位(位(0 0110110)用用1616位(位(0000 0000 0000 00000 0000 0000 0110110)-6-6用用4 4位(位(1 1010010)用用1616位(位(1111 1111 1111 11111 1111 1111 1010010)不同长度数值做加法不同长度数值做加法首先必须将它们表示为相同的长度首先必须将它们表示为相同的长度14+14+(-4-4)00000000000011100000000000001110+1100 1100?14+14+(-4-4)0000 0000 0000 1110 0000 0000 0000 1110(1414)+0000 0000 0000 0000 0000 0000 11001100(1212)0000 0000 0001 10100000 0000 0001 1010(2626)0000 0000 0000 1110 0000 0000 0000 1110(1414)+1111 1111 1111 1111 1111 1111 11001100(-4 4)0000 0000 0000 10100000 0000 0000 1010(1010)符号扩展符号扩展用用0 0扩展正数的左端,值不会改变扩展正数的左端,值不会改变用用1 1扩展负数的左端,值亦不会改变扩展负数的左端,值亦不会改变符号扩展(符号扩展(Sign-EXTensionSign-EXTension,SEXTSEXT)用于不同长度的数值之间的运算用于不同长度的数值之间的运算溢出溢出用用4 4位补码数据类型,计算位补码数据类型,计算2+62+6 00100010+0110+0110 10001000结果为结果为-8-8,为什么为什么会出现错误?会出现错误?2+6=82+6=8,+7(0111)+7(0111)01110111,使用使用4 4位补码数据类型能够表示的最大正数位补码数据类型能够表示的最大正数8 8不能用不能用4 4位的补码表示位的补码表示示例示例1101(-3)+1010(-6)0111(7)检测溢出检测溢出如果如果两个数符号相同两个数符号相同和的符号不同和的符号不同一个负数和一个正数的和永远不会出现溢出一个负数和一个正数的和永远不会出现溢出

    注意事项

    本文(2.2 整数数据类型电子课件 计算机系统基础:C语言视角(RISC-V版).ppt)为本站会员(春哥&#****71;)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




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

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

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

    收起
    展开