- 1、本文档共55页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]Lecture3DataTypes
Dept.of Computer Sci. Tech.,YBU 整型(Integer) 整型变量【重点】 为什么需要修饰符? 8!=40320 max of signed int =215-1=32767(×) max of unsigned int =216-1=65535 亚洲人口:36.72亿 max of signed long int=231-1=2147483647 (×) max of unsigned long int=232-1=4294967295 内存中负数如何存储/表示? 基本数据类型 * Dept.of Computer Sci. Tech.,YBU 整型(Integer) 补码(Twos Complement)【难点】 补码是有符号整型数据的二进制存储方案 零和正整数的补码: 自身的二进制表示 负整数的补码: 其绝对值的二进制数各位取反之后加1所得的二进制数 基本数据类型 * Dept.of Computer Sci. Tech.,YBU 整型(Integer) 补码(Twos Complement)【难点】 对2bytes的int型整型数 基本数据类型 10的补码 10的二进制 0000 0000 0000 1010 -10的补码 10的二进制 0000 0000 0000 1010 1111 1111 1111 0101 各位取反(0?1) 1111 1111 1111 0110 +1 内存中 内存中 * Dept.of Computer Sci. Tech.,YBU 整型(Integer) 补码(Twos Complement) 【难点】 正数和零的最高位为0,负数的最高位为1 正数和与其绝对值相等的负数之和为0(不计溢出位) 基本数据类型 0000 0000 0000 1010 1111 1111 1111 0110 +) 1 0000 0000 0000 0000 10的补码 -10的补码 内存中 溢出位 * Dept.of Computer Sci. Tech.,YBU 整型(Integer) 补码(Twos Complement) 【难点】 a-b=a+(-b),因此减法可通过加法实现 -1的补码=1111 1111 1111 1111 基本数据类型 * Dept.of Computer Sci. Tech.,YBU 整型(Integer) 补码(Twos Complement) 【难点】 从补码求原数 如果最高位为0,补码就是原数 如果最高位为1,原数是负数,其绝对值为补码各位求反加1 1111 1111 1111 1111:各位求反+1 =1,故原数为-1 基本数据类型 * Dept.of Computer Sci. Tech.,YBU 整型(Integer) 同一二进制形式在不同的符号修饰类型定义下具有不同意义【难点】 1111 1111 1111 1110 unsigned int: 65534 signed int: -2 基本数据类型 * Dept.of Computer Sci. Tech.,YBU 整型(Integer) 整型运算结果的溢出 有限存储设备与无限对象之间的矛盾 最大值+1=最小值,产生溢出 最小值-1=最大值,产生借位 基本数据类型 最小值 最大值 signed int -32768 1000 0000 0000 0000 32767 0111 1111 1111 1111 unsigned int 0 0000 0000 0000 0000 65535 1111 1111 1111 1111 -1 +1 * Dept.of Computer Sci. Tech.,YBU 整型(Integer) 整型常量的类型表示 l(L) u(U) 整型数据输入输出控制符号【下一讲】 把内存中的二进制数按控制符号要求进行解释并输出 %d,%u,%o,%x 课后阅读:【pp45】(1)-(5) 基本数据类型 * Dept.of Computer Sci. Tech.,YBU 整型(Integer) 格式输入输出函数调用 基本数据类型 #include stdio.h main( ) { int x; scanf(”%d”, x); /*输入-2*/ printf(”x=%d,%u,%o,%x”, x, x, x, x); } 内存 x 1111 1111 1111 1110 原样输出 按对应格式输出同一数据: x=-2,65534,177776,fffe -2的补码 * Dept.of Computer Sci. Tech.,YBU 浮点型(Floating Point) 数据含
文档评论(0)