C程序设计C程序设计 (4).pdf

上传人:刘静 文档编号:52755256 上传时间:2022-10-23 格式:PDF 页数:38 大小:1.75MB
返回 下载 相关 举报
C程序设计C程序设计 (4).pdf_第1页
第1页 / 共38页
C程序设计C程序设计 (4).pdf_第2页
第2页 / 共38页
点击查看更多>>
资源描述

《C程序设计C程序设计 (4).pdf》由会员分享,可在线阅读,更多相关《C程序设计C程序设计 (4).pdf(38页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、C C程序设计程序设计Programming in CProgramming in C信息在计算机中的表示信息在计算机中的表示2、数值数据的表示与存储3、字符数据的表示与存储4、其他数据的表示与存储C C程序设计程序设计程序设计程序设计3 31.2.3 1.2.3 数值数据的表示数值数据的表示1整数在计算机中的表示由于计算机只有0和1的数据形式,因此数的正(+)、负()号也要用0和1编码。通常将一个数的最高二进制位定义为符号位,称为数符,用0表示正数、1表示负数,其余位表示数值。4 41.2.3 1.2.3 数值数据的表示数值数据的表示在计算机中,作为整体参与运算、处理和传送的一串二进制的位数

2、称为字长,字长一般是8的倍数,例如8位、16位、32位、64位等。一个数在计算机中的表示形式称为机器数。假定字长为8位,5的机器数为00000101,5的机器数为10000101。5 51.2.3 1.2.3 数值数据的表示数值数据的表示下面介绍原码、反码和补码,为了简单起见,以下假定字长为8位。6 6(1)原码整数X的原码是数符位0表示正,1表示负,数值部分是X绝对值的二进制表示,记为(X)原。原码表示的计算公式为:其中n为字长,原码表示数的范围是1.2.3 1.2.3 数值数据的表示数值数据的表示11102()220nnnXXXXX原式1-811(21)21nn7 71.2.3 1.2.3

3、 数值数据的表示数值数据的表示例如:由此可知,8位原码表示的最大值为127,最小值为127,表示数的范围是127127,其中0有两种表示形式。原码表示法编码简单,但它的缺点是运算时要单独考虑符号位和判别0,增加了运算规则的复杂性。(1)00000001原(127)01111111原(0)00000000原(1)10000001原(127)11111111原(0)10000000原8 8(2)反码整数X的反码是对于正数,反码就是原码;对于负数,数符位为1,其数值位为原码中的数值位按位取反,记为(X)反。反码表示的计算公式为:其中n为字长,反码表示数的范围是。1.2.3 1.2.3 数值数据的表示

4、数值数据的表示1102()2120nnnXXXXX反11(21)21nn式1-99 91.2.3 1.2.3 数值数据的表示数值数据的表示例如:由此可知,8位反码表示的最大值、最小值和数的范围与原码相同,其中0也有两种表示形式。反码运算也不方便,很少使用,一般用来求补码。(1)00000001反(127)01111111反(0)00000000反(1)11111110反(127)10000000反(0)11111111反1010(3)补码整数X的补码是:对于正数,补码与反码、原码相同;对于负数,数符位为1,其数值位为反码加1,记为(X)补。补码表示的计算公式为:其中n为字长,补码表示数的范围是

5、。1.2.3 1.2.3 数值数据的表示数值数据的表示1102()220nnnXXXXX补112 21nn式1-1011111.2.3 1.2.3 数值数据的表示数值数据的表示例如:由此可知,8位补码表示的最大值为127,最小值为128,表示数的范围是128127,其中0有唯一的编码形式。(1)00000001补(127)01111111补(0)(0)00000000 补补(1)11111111补(127)10000001补(128)10000000补1212【例1.4】计算(9)+9的值。解:丢弃高位1,运算结果为0。1.2.3 1.2.3 数值数据的表示数值数据的表示1313【例1.5】计

6、算(9)+8的值。解:运算结果为1。1.2.3 1.2.3 数值数据的表示数值数据的表示1414【例1.6】计算65+66的值。解:两个正数相加,从结果的符号位可知运算结果是一个负数(125),其原因是结果(131)超出了数的有效表示范围(128127)。1.2.3 1.2.3 数值数据的表示数值数据的表示1515【例1.7】求补码10000000对应的十进制数。解:从符号位判断该数为一个负数,根据式(110)可知:则:所以补码10000000对应的十进制数为128。()()2nXX 补补1.2.3 1.2.3 数值数据的表示数值数据的表示()2()100000000B10000000B100

7、00000BnDXX 补补(128)16161.2.3 1.2.3 数值数据的表示数值数据的表示(4)无符号整数无符号整数是指没有正负之分的整数。无符号整数总是大于等于0的,其数的表示范围是,即二进制的每一位都是数值位。显然,在一定字长情况下,无符号整数的数值比有符号整数的数值大。0 21n17171.2.3 1.2.3 数值数据的表示数值数据的表示【例1.8】计算无符号整数65+66的值。解:从前面得到,由于是无符号整数,故直接转换成十进制数为131。6566B(10000011)18181.2.3 1.2.3 数值数据的表示数值数据的表示2浮点数在计算机中的表示数学中的实数在计算机中称为浮

8、点数,是指小数点不固定的数。浮点数用二进制表示,但表示方法比整数复杂得多。19191.2.3 1.2.3 数值数据的表示数值数据的表示为便于软件的移植,目前大多数计算机都遵守1985年制定的IEEE754浮点数标准浮点数标准(最新标准为IEEE7542008),主要有单精度浮点数(float或single)和双精度浮点数(double)格式。按二进制数据形式,单精度格式具有24位有效数字,总共占用32位;双精度格式具有53位有效数字精度,总共占用64位,相对应的十进制有效数字分别为7位和17位。20201.2.3 1.2.3 数值数据的表示数值数据的表示下面以单精度浮点数为例,介绍浮点数在计算

9、机中的表示。按IEEE754的规定,浮点数使用下列形式的规格化表示:其中s为符号,E为指数,f为小数。21.sEf规格化数(-1)2121单精度浮点数存储时占用4个字节,即32位,各位的意义和布局如图所示。(1)0:22位是23位小数f,其中第0位是小数的最低有效位,第22位是最高有效位。小数中的“1.”不用存储,目的是为了节省存储空间。23位小数加上隐含前导有效位提供了24位精度。1.2.3 1.2.3 数值数据的表示数值数据的表示图1.5 单精度浮点数存储格式2222(2)23:30位是8位e,其中第23位是e的最低有效位,第30位是最高有效位,。指数,其范围为。(3)最高的第31位是符号

10、位s,0表示正,1表示负。1.2.3 1.2.3 数值数据的表示数值数据的表示图1.5 单精度浮点数存储格式0255e127Ee126 12723231.2.3 1.2.3 数值数据的表示数值数据的表示表1-3 单精度存储格式位模式及其IEEE值NAN7FC00000非数负无穷FF800000正无穷7F800000+00800000最小正数7F7FFFFF最大正数1.03F80000010.08000000000.000000000+0十进制值位模式(十六进制)通用名称 383.4028234710 381.17549435102424【例1.9】求单精度浮点数50.0在计算机中的表示。解:格

11、式化表示:,因,指数:所以50.0在计算机中的表示为42480000(十六进制),其存储格式如图所示。0550.0110010.0B(1)21.100100B 0s 5E 0.100100f 12713210000100BeE1.2.3 1.2.3 数值数据的表示数值数据的表示2525【例1.10】求单精度浮点数-2.5在计算机中的表示。解:格式化表示:,因此,指数:所以 在计算机中的表示为C0200000(十六进制),其存储格式如图所示。112.510.1B(1)21.01B 1s 1E 0.01f 12712810000000BeE1.2.3 1.2.3 数值数据的表示数值数据的表示262

12、61.2.3 1.2.3 数值数据的表示数值数据的表示双精度浮点数在计算机中的表示与单精度浮点数类似,只有两点区别:一是双精度浮点数存储时占用8个字节,即64位。其中 占1位,占11位,占52位;二是指数。27271.2.4 1.2.4 非数值数据的表示非数值数据的表示1西文字符西文字符包含英文字符、数字、各种符号,是不可做数学运算的数据。西文字符按特定的规则进行二进制编码才能进入计算机,最常用的是美国信息交换标准代码ASCII(american standard code for information interchange)。28281.2.4 1.2.4 非数值数据的表示非数值数据的表

13、示29291.2.4 1.2.4 非数值数据的表示非数值数据的表示计算机存储与处理一般以字节为单位,因此西文字符的一个字符在计算机内部实际是用8位表示的。30301.2.4 1.2.4 非数值数据的表示非数值数据的表示2汉字字符汉字字符种类多,编码上比西文字符复杂。在汉字处理系统中,需要在输入、内部处理、输出对汉字字符编码及转换。因此汉字字符编码有输入码、字形码、国标码、机内码之分。输入码是键盘输入汉字时所用的编码,字形码用于汉字的显示和打印输出。31311.2.4 1.2.4 非数值数据的表示非数值数据的表示汉字国标码是指我国在1980年发布的中华人民共和国国家标准信息交换汉字编码GB231

14、2-80,它把最常用的6763个汉字和682个非汉字图形符号按汉语拼音顺序和偏旁部首排列。32321.2.4 1.2.4 非数值数据的表示非数值数据的表示汉字国标码与区位码的关系为了在计算机内部方便区分汉字编码和ASCII码,将国标码的每个字节的最高位设置成1,变换后的国标码称为汉字机内码,即:这样在文字处理系统中,字节值大于128的字符是汉字机内码,字节值小于128的字符是ASCII码。+8080H=+A0A0H汉字机内码汉字国标码区位码33331.2.4 1.2.4 非数值数据的表示非数值数据的表示3多媒体信息除数值、文字数据外,计算机也可以处理图形、图像、音频和视频信息。这些媒体信息的表现方式可以说是多种多样,但是在计算机中它们都是通过二进制编码表示的。34341.2.4 1.2.4 非数值数据的表示非数值数据的表示35351.2.4 1.2.4 非数值数据的表示非数值数据的表示36361.2.4 1.2.4 非数值数据的表示非数值数据的表示数字音频是由A/D(模拟/数字)转换器用一定采样频率采样、量化音频信号,然后使用固定二进制位记录量化值以数字声波文件的形式存储在计算机中。若要输出数字声音,必须通过D/A(数字/模拟)转换器将数字信号转换成模拟信号输出。37371.2.4 1.2.4 非数值数据的表示非数值数据的表示结束结束

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com