第01章 C语言程序设计预备知识new.ppt

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第01章 C语言程序设计预备知识new.ppt

1.3 机器数的表示形式及其表示范围 反码 对于这样的n位整数其反码表示的数的范围为: - 2n-1-1 ~ 2n-1 -1 。 N 0 ≤ N < 1 [N]反 = 2 -2-m + N -1 < N ≤ 0 100………0 n-1个0 011………1 n-1个1 对于定点小数,若小数部分的位数为m位,则定点小数反码一般表示为: 对于这样的m位小数 含一符号位 其反码表示数的范围为: - 1 - 2- m-1 ~ 1 -2- m-1 。 语言程序设计教程 王敬华 第一章 预备知识 C 1.3 机器数的表示形式及其表示范围 反码 1.00………0 m-1个0 0.11………1 m-1个1 总结: 正数N的反码[N]反与原码[N]原相同。 对于负数N,其反码[N]反的的符号为1,数值部分是将原码数值按位求反。 在反码表示中,有两种不同形式的0,即: [+0]反 = 000…0 或 0.00…0 [-0]反 = 111…1 或 1.11…1 语言程序设计教程 王敬华 第一章 预备知识 C 1.3 机器数的表示形式及其表示范围 补码 补码又称为“对2的补数”。在补码表示法中,正数的补码表示同原码和反码的表示是相同的,而负数的补码表示却不同。对于负数的补码,其符号位为1,而数值位是将原码“按位求反,末位加1”。 例:N1 = +10011 N2 = -01010 [N1]补 = 010011 [N2]补= 110110 根据上述补码形成规则,一个n位的整数N(包含一位符号位)的补码一般表示为: N 0 ≤ N < 2n-1 [N]补 = 2n + N -2n-1 ≤ N < 0 注意:同原码、反码的区分!!! 语言程序设计教程 王敬华 第一章 预备知识 C 1.3 机器数的表示形式及其表示范围 补码 对于这样的n位整数其补码表示的数的范围为: -2n-1 ~ 2n-1 -1 。 N 0 ≤ N < 1 [N]补 = 2 + N -1 ≤ N < 0 100………0 n-1个0 011………1 n-1个1 对于定点小数,补码一般表示为: 对于这样的m位小数 含一符号位 其补码表示数的范围为: -1 ~ 1 -2- m-1 语言程序设计教程 王敬华 第一章 预备知识 C 1.3 机器数的表示形式及其表示范围 补码 1.00………0 m-1个0 0.11………1 m-1个1 总结: 正数N的补码[N]补与原码[N]原和反码[N]反相同。 对于负数N,其补码[N]补的的符号为1,数值部分为反码数值加1。 在补码表示法中,0的表示形式是唯一的,即: [+0]补 = 000…0 或 0.00…0 [-0]补 = 000…0 或 0.00…0 注意:绝大多数机器数的表示采用补码表示法。象C语言中整数在计算机中就是以其补码的形式存储的。 语言程序设计教程 王敬华 第一章 预备知识 C 原码 反码 补码 +700000111-711111000+000000000-011111111数的范围 -127~+127 -127~+127 -128~+127 (用一字节表示数) 负数补码转换成十进制数:最高位不动,其余位取反加1 例 补码取反加1-7 语言程序设计教程 王敬华 第一章 预备知识 C 1.3 机器数的表示形式及其表示范围 补码的加、减运算 由补码的定义可以证明如下补码加、减运算规则: [N1 + N2]补 = [N1]补 + [N2]补 [N1 - N2]补 = [N1]补 + [-N2]补 运算时,符号位和数据位一样参加运算,如果符号位产生进位,则需要将此进位“丢掉”。运算结果的符号位为0时,说明是正数的补码;运算结果的符号为1时,说明是负数的补码。 语言程序设计教程 王敬华 第一章 预备知识 C 1.3 机器数的表示形式及其表示范围 补码的加、减运算 例: 已知N1=+10011,N2=-01010, 求[N1+N2]补和[N1-N2]补。 解: [N1+N2]补 = [N1]补 + [N2]补 = 010011 + 110110 001001 0 1 0 0 1 1 +) 1 1 0 1 1 0 丢掉←1 0 0 1 0 0 1 语言程序设计教程 王

文档评论(0)

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

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

版权声明书
用户编号:5311233133000002

1亿VIP精品文档

相关文档