C计算机基础知识..ppt

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
特别注意: 上述二进制的原补码运算都是基于单字节的8位数运算。 如果C语言中2或4个字节的数一起运算时,怎么办? int a=-5; char b=-5;它们的原补码怎样表示? int c=a+b;(涉及到数据类型转化,字节位数要按最高字节数量补齐) [a]原=00000101] [b]原= 不对! [b]原=00000101] 正确 * 2009年10月28日第二次课结束 1.2.4 机器数的原码、反码与补码 计算机中带符号数有三种表示方法:原码、反码和补码。 在这三种机器数的表示形式中,符号位的规定相同,仅是数值部分的表示形式不同。 1、 原码 正数的符号位用“0”表示,负数的符号位用“1”表示,其余数字位表示数值本身。 例如,x1=+1101101 [x1]原 x2=-1101101 [x2]原1.2 二进制数在计算机中的应用 对于数0,可以认为它是+0,也可以认为它是-0。因此,0在原码表示中有下列两种形式: [+0]原=0000 0000 [-0]原由此可见,数0的原码表示不是唯一的。对于8位二进制数(称为一个字节)来说,原码可表示的数的范围是-127~+127。 1.2 二进制数在计算机中的应用 2、反码 正数的反码和正数的原码相同。 负数的反码其符号位为1,其余各位逐位取反,即0变为1,1变为0。 例如, x1=+1101101 [ x1]原 [x1]反 x2=-1101101 [x2]原[x2]反1.2 二进制数在计算机中的应用 当x=±0时,[x]反也有两种表示形式即: [+0000000]反 [-0000000]反所以,在反码表示中.“0”的表示也不是唯一的。8位二进制数反码所能表示的数的范围是-127~+127。 1.2 二进制数在计算机中的应用 3、补码 在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。 正数的补码与正数的原码相同, 负数的补码等于负数的反码加1。 (即符号位不变,数值位取反,后整体在+1) 如何求补码的原码 :即再对补码求一次补码就还原成原码。 例如: x1=+1101101 [x1]原 [x1]反= [x1]补= x2=-1101101 [x2]原 [x2]反= [x2]补= 1.2 二进制数在计算机中的应用 采用补码表示,可以把减法运算变成加法运算。但要注意,在求和的计算中,需要将运算结果产生的进位丢掉,才能得到正确的结果,其结果亦为补码表示。 例如, 21-15=21+[-15]补 当数用补码表示时,无论是加法还是减法运算都可采用加法运算,而且数0的表示是唯一的。因此,在微机中普遍用补码来表示带符号的数。 8位二进制数补码所能表示的数的范围是-128 ~+127。 1.2 二进制数在计算机中的应用 1、 正数有原码=反码=补码 2、负数的原码、反码、补码各不相同,但符号位一定为1. 1.2 二进制数在计算机中的应用 1.2 二进制数在计算机中的应用 求-100的补码 +100=64H -100= 补码的概念: X和y的和得到一个最小进位,则称x和y互为补数。该最小进位值称为“模”。 1.2 二进制数在计算机中的应用 十进制中: 9+1=10 (对一位十进制数而言,1和9互补) 9-1=9+(1)补 =9+9=18,丢弃模10之后得到8 十六进制中: [+100]补=64H [-100]补=9CH

文档评论(0)

zilaiye + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档