- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《程序设计》多媒体教程
第三讲
第二章 基本数据及其运算和输入输出
2.3 整型数据的存储和表达方式
2.3.1 整型数据的类型
※ 有符号类型 ※ 无符号类型
整型 [signed] int 整型 unsigned [int]
短整型 [signed] short [int] 短整型 unsigned short [int]
长整型 [signed] long [int] 长整型 unsigned long [int]
其中,方括号内的内容表示可以省略。例如,short表示等价于signed short int,即为有
符号的短整型类型。unsiged表示等价于unsigned int,即为无符号的缺省整型类型。
※ 有符号和无符号整型数据
有符号和无符号整型数据的不同之处在于符号位的使用。
假定字长为n位,则一个整型数据可以表达为:
⊙ 有符号整型数据:由“1位符号位” + “(n-1)位数据位”确定
其中,符号位=0 表示正整数;符号位=1 表示负整数。
⊙ 无符号整型数据:由“n位数据位”确定
有符号 符号位 数据位 无符号 数据位
整型数据 1位 (n-1)位 整型数据 n位
⊙ 数值范围
有符号数可以表示正数和负数;无符号数只能表示正数。
例如,用2个字节(16位)存放短整数,无符号数能够表示的数值范围为0~216-1 ,即
0~65535,而有符号数能够表示的数值范围为-215~215-1,即-32768~32767 。
※ 整型数值范围
整型类型 字节数 位数 数值范围
int 2 16 -215~215-1 -32768~32767
unsigned int 2 16 0~216-1 0~65535
short 2 16 -215~215-1 -32768~32767
unsigned short 2 16 0~216-1 0~65535
long 4 32 -231~231-1 -2147483648~2147483647
unsigned long 4 32 0~232-1 0~4294967295
2.3.2 整型数据在内存中的存储方式
有三种不同的数码表示方式:原码、反码、补码。以2个字节(16位)的有符号整数为例。
※ 原码
以最高位(1位)表示数值的正负,0表示正数,1表示负数。其他位表示为数字的二进制
码。例如: 10(原码) =00001010 000A
-10(原码) =00001010 800A
※ 原码的缺陷
⊙ 0有两个不同的码字:+0 ≠ -0
+0(原码) =00000000
-0(原码) =00000000
⊙ 无法表示最小的负数(-32768)
如: -32766(原码) =11111110
-32767(原码) =11111111
-32768(原码) = ?
⊙ 数据的编码不连续,运算不方便
+1(原码) =00000001
+0(原码) =00000000
-0(原码)
原创力文档


文档评论(0)