
第二章基本的数据与运算
第二章 基本的数据与运算

C语言基本数据类型与基本输入输出 ■了解数据在计算机中的表示 ■了解常量与变量的含义。 ■掌握数据类型及类型间的混合运算。 ■掌握基本输入、输出函数的使用
◼了解数据在计算机中的表示 ◼了解常量与变量的含义。 ◼掌握数据类型及类型间的混合运算。 ◼掌握基本输入、输出函数的使用。 C语言基本数据类型与基本输入输出

数据的分类 在现实世界中,我们所遇到的数可能既有整数部分, 又有小数部分,这就存在一个如何表示小数点的问 题,即如何确定小数点的位置。 ■根据小数点的位置是否固定,数的格式可分为: ·定点表示 ■浮点表示 其中,定点数又分为无符号定点数、带符号定点数。 ■对于数据表示,我们最关心两项指标: ·第一,表示范围即在正负两个方向上各能表示 多大的数 ·第二,分辨率,也就是表示数的精细程度
数据的分类 ◼ 在现实世界中,我们所遇到的数可能既有整数部分, 又有小数部分,这就存在一个如何表示小数点的问 题,即如何确定小数点的位置。 ◼ 根据小数点的位置是否固定,数的格式可分为: ◼ 定点表示 ◼ 浮点表示 其中,定点数又分为无符号定点数、带符号定点数。 ◼ 对于数据表示,我们最关心两项指标: ◼ 第一,表示范围,即在正负两个方向上各能表示 多大的数 ◼ 第二,分辨率,也就是表示数的精细程度

定点表示法一带符号定点整数 带符号定点整数是纯整数,它约定机器 字的最高位为符号位,小数点在最低数 位之后、且不出现在数码序列中。 格式为: Xn Xn-1Xn-2.X2X1X0 符号位 数值位 小数点
定点表示法——带符号定点整数 ◼ 带符号定点整数是纯整数,它约定机器 字的最高位为符号位,小数点在最低数 位之后、且不出现在数码序列中。 ◼ 格式为: xn xn-1 xn-2 . x2 x1 x0 符号位 数值位 小数点

定点表示法 带符号定点小数 带符号定点小数是纯小数,它约定机器字的 最高位为符号位,小数点在符号位之后、最 高数值位之前、且不出现在数码序列中。 ■格式: X1 X2.Xn-2 Xn-1 Xn 符号位 小数 数值 点
定点表示法——带符号定点小数 ◼ 带符号定点小数是纯小数,它约定机器字的 最高位为符号位,小数点在符号位之后、最 高数值位之前、且不出现在数码序列中 。 ◼ 格式: x0 x1 x2 . xn-2 xn-1 xn 符号位 数值 位 小数 点

原码 反码 补码移码 原码 最高位为符号位,“0"表示正,“1"表示负, 数值部分是原数的绝对值。 反码 正数的反码和原码相同,负数的反码是对其原 码除符号位外各位求反,即0变1,1变0。 补码 正数的补码和原码相同,负数的补码是在其反 码的最后一位上加1。 移码 将补码的符号位取反可得移码
原码 反码 补码 移码 原码 ◼最高位为符号位,“0”表示正,“1”表示负, 数值部分是原数的绝对值。 反码 ◼正数的反码和原码相同,负数的反码是对其原 码除符号位外各位求反,即0变1,1变0。 补码 ◼正数的补码和原码相同,负数的补码是在其反 码的最后一位上加1。 移码 ◼将补码的符号位取反可得移码

浮点数的表示方法 ■把一个数的有效数字和数的范围在计算机的一个存储单 元中分别予以表示,相当于小数点的位置随数的比例因 子不同在一定范围内可自由浮动,所以把这种表示方式 称为浮点表示法。 任意一个二进制数可以写成: N=2eXM M称为浮点数的尾数,纯小数表示,基数为2; e为浮点数的指数,也叫阶码,整数表示,底数为2。 浮点数在机器中由阶码和尾数来表示。尾数部分给出浮点 数有效数字的数位,决定浮点数的精度;阶码指明小数点 在数据中的位置,决定浮点数的表示范围
浮点数的表示方法 ◼ 把一个数的有效数字和数的范围在计算机的一个存储单 元中分别予以表示,相当于小数点的位置随数的比例因 子不同在一定范围内可自由浮动,所以把这种表示方式 称为浮点表示法。 ◼ 任意一个二进制数可以写成: N=2e×M M称为浮点数的尾数,纯小数表示,基数为2; e为浮点数的指数,也叫阶码,整数表示,底数为2。 ◼ 浮点数在机器中由阶码和尾数来表示。尾数部分给出浮点 数有效数字的数位,决定浮点数的精度;阶码指明小数点 在数据中的位置,决定浮点数的表示范围

(1)浮点数的格式 浮点数的表示格式 Es E1E2.Em Ms MM2.Mn 阶符 数符 阶码 尾数 整数 小数 ■数符决定浮点数的正负;阶符仅决定阶码本身的正负 ■阶码通常使用移码表示
(1)浮点数的格式 ◼ 浮点数的表示格式 Es E1E2.Em Ms M1M2.Mn 阶符 阶码 数符 尾数 ◼ 数符决定浮点数的正负;阶符仅决定阶码本身的正负 ◼ 阶码通常使用移码表示。 整数 小数

(3)规格化 为了提高浮点数的表示精度,当尾数不为0时,尾数域的最 高数位必须是一个有效值。如果最高数位不是有效值,则 通过尾数移位并修改阶码的办法,使其变成有效值,这称 为浮点数的规格化。 ■对规格化的浮点数规定如下: 。如果尾数是原码表示,尾数的最高有效位一定为1。 如,0.1101×22为规格化的浮点数表示, 0.01101×21则不是。 ·如果尾数用补码表示,尾数的最高有效位一定与符号位相反。如: 0.1x.x和1.0x.x是规格化的补码表示。 ·-12是个特殊的浮点数,无规格化表示,所以不在浮点数规格化表 示的范围内。 KK
(3)规格化 ◼ 为了提高浮点数的表示精度,当尾数不为0时,尾数域的最 高数位必须是一个有效值。如果最高数位不是有效值,则 通过尾数移位并修改阶码的办法,使其变成有效值,这称 为浮点数的规格化。 ◼ 对规格化的浮点数规定如下: ◼ 如果尾数是原码表示,尾数的最高有效位一定为1。 如,0.1101×2 -2 为规格化的浮点数表示, 0.01101×2 -1则不是。 ◼ 如果尾数用补码表示,尾数的最高有效位一定与符号位相反。如: 0.1x.x和1.0xx.x是规格化的补码表示。 ◼ -1/2是个特殊的浮点数,无规格化表示,所以不在浮点数规格化表 示的范围内

C语言基础 C的数据类型 数据往往都是以某种特定形式存在的,C语言提供的数据类型如下: 短整型short 整 型 整型int 长整型1ong 基本类型。 实型 单精度型float 双精度型double C 字符类型char 空类型void 据 数组 结构体struct 数据类型决定: 类 构造类型 1.数据占内存字节数 共用体nion 枚举类型enum 2. 数据取值范围 指针类型 3. 其上可进行的操作
C语言基础 C的数据类型 数据类型决定: 1. 数据占内存字节数 2. 数据取值范围 3. 其上可进行的操作 C 数 据 类 型 基本类型 构造类型 指针类型 空类型void 枚举类型enum 数组 共用体nion 结构体struct 单精度型float 双精度型double 字符类型 char 整 型 实型 短整型short 长整型long 整型int 数据往往都是以某种特定形式存在的,C语言提供的数据类型如下: