C程序设计C程序设计 (4).pdf
《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浮点数在计算机中的表示数学中的实数在计算机中称为浮
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C程序设计C程序设计 4 程序设计
限制150内