Presentation is loading. Please wait.

Presentation is loading. Please wait.

第二章 计算机中的信息表示.

Similar presentations


Presentation on theme: "第二章 计算机中的信息表示."— Presentation transcript:

1 第二章 计算机中的信息表示

2 复 习 1、(1101.01)2 =( )10 =( )8421BCD 2、(A2E)16 =( )10 3、23.87 D =( )2
2009 SCS-SWPU 计算机组成原理 复 习 1、( ) =( )10 =( )8421BCD 2、(A2E) =( )10 3、23.87 D =( )2 4、( )2 =( ? )8=( ? )16 5、有字长8bit的计算机,写出+10和-10的原码和补码。

3 计算机处理的信息 无符号数 英文字符 计算机 处理的信息 正数和负数 汉字 小数 指令 图像、声音

4 复习1:进位计数制- 进制之间的相互转换 1.3.4 数制间的相互转换 二进制 八进制 十六进制 十进制 2009 SCS-SWPU
计算机组成原理 复习1:进位计数制- 进制之间的相互转换 1.3.4 数制间的相互转换 二进制 八进制 十六进制 十进制

5 复习1:进位计数制间的转换总结 八进制 二进制 十进制 十六进制 二进制 八进制 十六进制 十进制 3位一组 整数:除2倒取余 二 进制
小数:乘2正取整 4位一组 十六进制 二进制 八进制 十六进制 按权展开 十进制

6 复习2——原码 +78 1 数值位 符号位 -78 1 介绍什么是原码 数值位 符号位

7 复习2——补码 变反加1 补码的转换方法:变反+1 正数的补码:与原码相同; 负数的补码:该数的反码加1。 2009 SCS-SWPU
计算机组成原理 复习2——补码 变反加1 正数的补码:与原码相同; 负数的补码:该数的反码加1。 补码的转换方法:变反+1

8 正数——原码、反码、补码 (相同) 数值位 符号位 原码 正数的反码和补码与原码 相同!! 反码 补码 1 1 1 1 +78
正数——原码、反码、补码 (相同) +78 1 数值位 符号位 1 原码 正数的反码和补码与原码 相同!! 介绍什么是原码 1 反码 1 补码

9 负数——原码、反码、补码 (不相同) -78 1 数值位 符号位 1 原码 负数的反码和补码与原码 不同!! 1 反码 +1 1 补码

10 第二章 A 数制 B 带符号数的表示 C 数的定点表示和浮点表示 D 指令系统及寻址方式

11 问题与思考 unsigned i=65; int j=65; float m=65,; char ch=65; …………..
2009 SCS-SWPU 计算机组成原理 问题与思考 为什么编程时,数据要先定义,后使用? unsigned i=65; int j=65; float m=65,; char ch=65; …………..

12 编 码 第二章 计算机中的信息表示 2.1 数值型数据的表示方法 2.2 字符的表示 2.3 指令信息的表示 计算机表达数据要考虑哪些问题?
2009 SCS-SWPU 计算机组成原理 第二章 计算机中的信息表示 数值型数据的表示方法 2.1 计算机表达数据要考虑哪些问题? 字符的表示 2.2 编 码 指令信息的表示 2.3 不考虑符号? 考虑符号? 有小数的时候怎么办?

13 信息编码——1)数值型数据 数值型数据 考虑数据的符号: 考虑小数点 原码、反码、补码 定点数 浮点数 先讲数值型数据

14 原码实现加法 例1: (0111)2+ (0011)2=? 解决方案 补码 0 0111 +) (0 0111)原+ (0 0011)原=? 1 1 例2: (0111)2- (0011)2= ? 0 0111 =(0111)2+ (-0011)2 用原码做加法,先判断两个数的符号,符号相同则进行加法运算,否则是进行减法运算 先判断两个数的绝对值,用绝对值大的减去绝对值小的数,计算结果的负号和绝对值大的负号保持一致 +) =(0 0111)原+ (1 0011)原 1 1 1 !!!原因:原码的符号位是约定的,没有数值意义,不能直接参与运算

15 补码——思想来源(了解) -10=360o-10 哪些方法可以让指针指向5点? 方法1:顺时针拨5格 方法2:逆时针拨7格
数值范围固定的情况下的补数 字长为8的计算机 能表达多少个数呢? -10o 350o -10=360o-10 28

16 补码的实质——模 X X>=0 X 1>X>=0 [X]补= [X]补= 2n-|X| X<0
[+2]补 = [-2]补= = 补码的实质:运用模的原理运算而来

17 补码实现加法 0 0111 +) 0 0011 0 0111 +) 1 1101 丢掉 例1: (0111)2+ (0011)2=?
+) (0 0111)补+ (0 0011)补=? 1 1 例2: (0111)2- (0011)2= ? 0 0111 =(0111)2+ (-0011)2 用原码做加法,先判断两个数的符号,符号相同则进行加法运算,否则是进行减法运算 先判断两个数的绝对值,用绝对值大的减去绝对值小的数,计算结果的负号和绝对值大的负号保持一致 +) =(0 0111)原+ (1 0011)原 丢掉 1 1 =(0 0111)补+ (1 1101)补 !!!原因:补码的符号位是运算出来的

18 课堂练习1 字长为8bit A=1001 B= 1010 A - B=? [A]补 = 00001001 [-B]补 = 11110110
符号位参加运算 [A]补 = [-B]补 = [A]补 [-B]补 + = [ ]补 =[ ]原 补码的特性:对补码进行求补得到原码

19 1.2.3 有符号数的表示 计算机中用补码表示 数有哪些优点和缺点?? 结论: 用户:用数的真值编程 计算机:加减法用补码表示数
有符号数的表示 计算机中用补码表示 数有哪些优点和缺点?? 补码的优点: 1、补码对0 的表示是唯一的。 2、补码的符号位可以和数值部分一起参加运算。 3、相同字长的机器数,补码比原码多表示一个数 (定点小数可以表示 –1,定点整数可以表示-2n) 4、可以化减为加,达到简化运算的目的 缺点: 表示数不够直观 结论: 用户:用数的真值编程 计算机:加减法用补码表示数 乘除法用补码或原码

20 课堂练习2 A=1010 B= 1001 A + B=? A=-1010 B= -1001 A + B=?
设:计算机用1位表达符号位,4位表达数值位 A=1010 B= 1001 A + B=? A=-1010 B= -1001 A + B=? 结果是否正确 引出定点数和浮点数 溢出:结果的大小超过了计算机表达数值的范围 原因:二进制的位数固定,表达范围则固定

21 考虑数据的小数点 根据小数点的位置是否固定,分为定点数和浮点数二种类型 定点数:表达数据范围窄,但是规则简单, 识别容易,硬件成本低
浮点数:表达的数据范围广,但是规则复杂, 识别过程难,硬件成本高 根据小数点的位置是否固定,分为定点数和浮点数二种类型 教材P33,浮点数要求到什么程度? 定点数:表达数据范围窄,但是规则简单,识别容易,硬件成本低 浮点数:表达的数据范围广,但是规则负责,识别过程难,硬件成本高 定点整数 定点小数 定点数的表示 浮点数的表示

22 2.1.3 数的定点表示和浮点表示 一、定点表示法 0~255 即: 0~(2n+1-1) 分辨率: 1 1、 定点整数
2009 SCS-SWPU 计算机组成原理 数的定点表示和浮点表示 一、定点表示法 1、 定点整数 (1)  无符号的定点整数(设字长为n+1) Xn Xn-1 Xn-2 X0 …… 数值部分 小数点位置 例如:字长为8位的计算机: → 0 → 1 → 255 (28-1 ) 字长为8的计算机 无符号的定点整数表示的范围: 0~255 字长为n的计算机: 即: 0~(2n+1-1) 分辨率: 1

23 2.1.3 数的定点表示和浮点表示 字长为8的计算机 字长为n+1的计算机: 分辨率: 1 (2) 带符号的定点整数(设字长为n+1)
2009 SCS-SWPU 计算机组成原理 数的定点表示和浮点表示 (2)  带符号的定点整数(设字长为n+1) 符号位 Xn Xn-1 Xn-2 …… X0 数值部分 小数点位置 字长为8的计算机 原码定点整数的范围:-127~127 补码定点整数的范围: -128 ~127 字长为n+1的计算机: 原码定点整数的范围: - (2n-1) ~(2n-1) 补码定点整数的范围: - 2n ~(2n-1) 分辨率: 1 例如:字长为8位的计算机: → 0 → 1 → 127 → -0 → -1 → -2 → -127 补码: → 0 → 1 → 127 → -128(-27) → -127 → -2 → -1 (27-1) (27-1) -(27-1) -(27-1)

24 . 2.1.3 数的定点表示和浮点表示 (3) 带符号的定点小数(设字长为n+1) 字长为n+1的计算机: 分辨率: 2 -n 符号位 ……
2009 SCS-SWPU 计算机组成原理 数的定点表示和浮点表示 (3)  带符号的定点小数(设字长为n+1) . 符号位 …… X0 X1 Xn-2 Xn 小数点位置 数值部分(尾数) 字长为n+1的计算机: 原码定点小数的范围: - (1-2 –n) ~(1-2-n ) 补码定点小数的范围: -1 ~(1-2 –n ) 分辨率: 2 -n 补码: → 0 → 2-7 → -1 → -(1-2-7) → -2-6 → -2-7 例如:字长为8位的计算机: → 0 → 2-7 → -0 → -2-7 → -2-6 →-(1-2-7)

25 2.1.3 小 结 设字长为 8 位(整数),求对应的真值各为多少? 1 2 127 … … … … 253 254 255 … … … …
2009 SCS-SWPU 计算机组成原理 小 结 设字长为 8 位(整数),求对应的真值各为多少? 二进制代码 无符号定点整 数对应的真值 原码对应 的真值 补码对应 定点小数 补码 1 2 127 +0 +1 +2 +127 +0 +1 +2 +127 +0 +0 + 2-7 + 2-6 字长n+1: 表示范围:0~(2n+1-1) 表示精度:1 字长n+1: 表示范围: - (2n-1) ~(2n-1) 表示精度:1 字长n+1: 表示范围: - 2n ~(2n-1) 表示精度:1 字长n+1: 表示范围: -1 ~(1-2 –n) 表示精度:2 -n 128 129 -0 -128 -1 -1 -127 -(1-2-7) 253 254 255 -125 -126 -127 -( ) -2-6 -2-7 -3 -2 -1

26 问题与讨论 用定点数的方法处理数据, 有哪些优缺点 优点:表达简单、直观、硬件成本低 缺点:
1、表达既有小数又有整数的数据,需要设置比例因子,并 加入溢出判断功能,随时调整比例因子 2、表达范围和分辨率固定,超出表达范围会产生溢出 正溢:运算结果超出能够表达的最大正数 负溢:运算结果超出能够表达的最小负数

27 2.1.4 数的浮点表示 N = M×RE 1、 浮点表示法 Ef E1 …… E2 Em M1 Mf M2 …… Mn 阶符 数符 阶码E
2009 SCS-SWPU 计算机组成原理 数的浮点表示 1、 浮点表示法 N = M×RE Ef E1 …… E2 Em M1 Mf M2 …… Mn 阶符 数符 阶码E 尾数M Mf 代表浮点数的符号 阶码E: 用补码和移码表示 尾数M: 用补码或原码表示 n 其位数反映浮点数的精度 m 其位数反映浮点数的表示范围

28 2.1.4 数的浮点表示 例如: 字长为16的计算机,有小数: (1001.011)2,若用浮点数表达,为多少?
2009 SCS-SWPU 计算机组成原理 数的浮点表示 例如: 字长为16的计算机,有小数: ( )2,若用浮点数表达,为多少? 设阶码和尾数均占8位(含符号位),均补码表示 解: = ×24 所以阶码: 0, 尾数: , 于是: 16位浮点数存储为:

29 2.1.4 数的浮点表示 N = M×RE 2、浮点数的规格化表示 例如:R=2(即二进制) 1/2≤ |M|<1
2009 SCS-SWPU 计算机组成原理 数的浮点表示 2、浮点数的规格化表示 例如:R=2(即二进制) 1/2≤ |M|<1 (即:让绝对值的最高有效位数为1) 原码规格化形式: 正数为: 0. 1XXXXXXX (M1=1) 负数为: 1.1XXXXXXX 补码规格化形式: 正数为: 0.1XXXXXXX 负数为: 1.0XXXXXXX (M1=0) N = M×RE 注意:M=-1/2的情况M1=1

30 2.1.4 数的浮点表示 3、浮点数的表示范围与精度(补码表示,阶码m+1位,尾数n+1位,规格化) 典型值 浮点数代码 真值
2009 SCS-SWPU 计算机组成原理 数的浮点表示 3、浮点数的表示范围与精度(补码表示,阶码m+1位,尾数n+1位,规格化) 典型值 浮点数代码 真值 绝对值最大负数 01…1,1.00…0 2(2m–1)×(–1) 绝对值最小负数 10…0,1.10…0 2(-2m)×(–2–1) 非0最小正数 10…0,0.10…0 2(-2m)×(2–1) 最大正数 01…1,0.11…1 2(2m–1)×(1–2–n) 上溢 下溢 上溢 负数区 正数区 最小负数 最大负数 最小正数 最大正数 2(2m–1)×(–1) 2(-2m)×(2–1) 2( 2m–1)×(1 – 2–n) 2(-2m) ×(–2–1)

31 2.1.4 数的浮点表示 4、IEEE754标准浮点格式 S 阶码(含阶符) 尾 数 1 8 23 32 1 11 52 64
2009 SCS-SWPU 计算机组成原理 数的浮点表示 4、IEEE754标准浮点格式 S 阶码(含阶符) 尾 数 数符 小数点位置 尾数为规格化表示 隐含约定尾数最高位为 “1”(隐含) 符号位 S 阶码 尾数 总位数 短实数 长实数 临时实数

32 2009 SCS-SWPU 计算机组成原理 数的浮点表示 6、真值与浮点数之间的转换 例2-33 浮点数的格式:字长32位,阶码8位,含1位阶符,补码表示,以2为底;尾数24位,含1位数符,补码表示,规格化。浮点数代码为(A )16,求其真值。 解: (A )16=( , …0)2 E=( )补 = - ( ) 2 = - (93) 10 M= (011010…0)补=( …0) 2 = (0.8125) 10

33 2009 SCS-SWPU 计算机组成原理 数的浮点表示 6、真值与浮点数之间的转换 例2-34 浮点数的格式同上,将-( …0)2写成浮点数代码(用16进制数表示)。 解: N= -( …0)2 = - ( …0) 2 ×24 E= (4)10 =( ) 2 = (04) 16 M补= ( …0) 2 浮点数代码为 ( , …0) 2 = (04A18000) 16

34 2009 SCS-SWPU 计算机组成原理 数的定点表示和浮点表示 例 写出 –5810 的浮点数代码,要求尾数为补码,阶码分别为补码和移码两种形式(其他要求同上例)。 解: x = –58 = – 二进制形式 规格化指数形式 x = – ( ) × 26 浮点计算机机中的二进制代码 [x]补 = [x]阶移、尾补 =

35 2.1.3 数的定点表示和浮点表示 例:写出对应下图所示的浮点数的补码形式。 设 尾数11位,含1位数符,尾数5位,含1位数符。 解: 真值
2009 SCS-SWPU 计算机组成原理 数的定点表示和浮点表示 例:写出对应下图所示的浮点数的补码形式。 设 尾数11位,含1位数符,尾数5位,含1位数符。 最小负数 最大负数 最大正数 最小正数 负数区 正数区 下溢 上溢 解: 真值 浮点数代码 最大正数 215×(1 – 2–10) 0,1111; 最小正数 2–16× 2–1 1,0000; 最大负数 2–16×(-2–1 ) 1,0000; 最小负数 215×(-1) 0,1111;

36 码制表示法总结 [X]原、[X]反 、[X]补用“0”表示正号,用“1”表示负号; [X]移:用“1”表示正号,用“0”表示负号。
2009 SCS-SWPU 计算机组成原理 码制表示法总结 [X]原、[X]反 、[X]补用“0”表示正号,用“1”表示负号; [X]移:用“1”表示正号,用“0”表示负号。 如果X为正数,则[X]原=[X]反=[X]补。 如果X为0,则 [X]补 、[X]移有唯一 编码, [X]原、[X]反 有两种编码。 移码与补码的形式相同,只是符号位相反。

37 码制表示法小结 数据四种机器表示法中: (1)移码表示法主要用于表示浮点数的阶码。
2009 SCS-SWPU 计算机组成原理 码制表示法小结 数据四种机器表示法中: (1)移码表示法主要用于表示浮点数的阶码。 (2)补码表示对加减法运算十分方便,因此目前机器中广泛采用 补码表示法。 (3)在一些机器中,数用补码表示,补码存储,补码运算。而在有 些机器中,数用原码进行存储和传送,运算时改用补码。还有 些机器在做加减法时用补码运算,乘除法时用原码运算。

38 定点、浮点表示法小结 . 数值部分 小数点位置 Xn-1 Xn-2 Xn-3 X0 …… Xn-1 Xn-2 X0 …… Xn 符号位
2009 SCS-SWPU 计算机组成原理 定点、浮点表示法小结 数值部分 小数点位置 Xn-1 Xn-2 Xn-3 X0 …… 数值部分 小数点位置 Xn-1 Xn-2 X0 …… Xn 符号位 数值部分(尾数) 小数点位置 Xn-1 Xn-2 X1 X0 …… . 符号位 注意:无论什么表示方法,小数点都只是一个约点,对硬件而言并无区别,这些数都是在程序中的一种隐含约定 Ef E1 …… E2 Em M1 Mf M2 Mn 阶码E 阶符 尾数M 数符

39 问题与解答 unsigned i=65; int j=65; float m=65,; char ch=65; …………..
2009 SCS-SWPU 计算机组成原理 问题与解答 为什么编程时,数据要先定义,后使用? unsigned i=65; int j=65; float m=65,; char ch=65; …………..

40 课堂思考 字长为1B的计算机有二进制码: 1000 0101 它代表什么呢? 除了数值,还可以代表其他信息吗?
用这个值:解析定点整数:原码、反、补码 解析定点小数:原码、反、补码 浮点数只知道思想即可,不需要转换 通过提问,引出非数值型数据的编码 除了数值,还可以代表其他信息吗?

41 第二章 计算机中的信息表示 2.1 数值型数据的表示方法 2.2 字符的表示 2.3 指令信息的表示 2009 SCS-SWPU
计算机组成原理 第二章 计算机中的信息表示 2.1 数值型数据的表示方法 2.2 字符的表示 2.3 指令信息的表示

42 非数值信息的编码 编码是以若干位数码或符号的不同组合来表示非数值性信息的方法,是人为地将若干位数码或符号的每一种组合指定一种唯一的含义。
01 02 03 04 05 06 07 08 09 10 a b c d e f 11 12 13 14 15 16 17 18 19 20 g h i j k l m n o p 21 22 23 24 25 26 27 28 29 30 q r s t u v w x y z 利用上表的编号,如何使用表达“你好”的拼音 )?

43 编码和解码 利用上面的编码表,你的名字该如何表示? 数字序列“17 05 03”解码后能到什么? 编码表是否是唯一的??
01 02 03 04 05 06 07 08 9 10 a b c d e f 11 12 13 14 15 16 17 18 19 20 g h i j k l m n o p 21 22 23 24 25 26 27 28 29 30 q r s t u v w x y z 编码表是否是唯一的?? 不唯一有没有什么影响?? 利用上面的编码表,你的名字该如何表示? 数字序列“ ”解码后能到什么? 但是,如果每个人都制定一个编码表,另外的人能懂吗?——影响计算机的普及

44 2009 SCS-SWPU 计算机组成原理 ASCII码 2.2 .1  ASCII码 (American Standard Code for Information Interchange )美国国家信息交换标准代码 字符数:128 英文字母(52个) 十进制数(10个) 专用符号(34个) 控制字符(32个) 位数——基本代码位7位+1位校验位 小型和微型计算机都用ASCII码.

45 常见字符的ASCII码 每8位为一个字符,最高位为0 ASCII码的出现 41H ~ 5AH: “A” ~ “Z” 统一了信息交换标准
使得计算机得以推广和普及 每8位为一个字符,最高位为0 41H ~ 5AH: “A” ~ “Z” 61H ~ 7AH: “a” ~ “z” 0AH: 换行符号LF 0DH: 回车符号CR 30H ~ 39H: “0” ~ “9”

46 2009 SCS-SWPU 计算机组成原理 汉字编码 汉字编码简介

47 “大” 汉字信息编码 汉字输入码:汉字依据输入码通过键盘输入汉字。 计算机内部 由内到外 由外到内 拼音码: da 五笔字型码: dddd
输入码:拼音码、字型码、区位码… … 拼音码: da 五笔字型码: dddd

48 “大” 汉字信息编码 汉字内码:汉字在计算机内部采用汉字内码存储。 计算机内部 由内到外 由外到内
国标码:汉字用两个字节表示,每个字节用七位码(高位为0) 94*94的阵列存储,国标码(即区位码),表示在第几行几列 为了避免和ASCII码的二义性,机内码在国标码的基础上,将最高位由0改成了1。 用0和1编码汉字,每个汉字在计算机内部由 2个字节表示 b7 b6 b5 b4 b3 b2 b1 b0 国标码 (机)内码

49 “大” 汉字信息编码 汉字字形码:汉字依据字形码通过显示器或打印机输出汉字。 计算机内部 由内到外 由外到内
点阵越密,字体越美观 字模点阵码用编码写应该如何表示“大”? 用0和1编码无亮点和有亮点形成字形信息, 便于显示… … 汉字字形码是一种字模点阵码。也有不同的处理汉字点阵信息的编码,如向量编码等

50 课后延伸与讨论 假设同学们使用智能ABC从键盘输入一段文字显示到显示器上,请描述计算机系统的工作处理过程?
相机的像素是什么,对产生的图像有什么影响?

51 2009 SCS-SWPU 计算机组成原理 作 业 第一次作业 P69 8(1,2,4),12,13 14, 15

52 Thank You !


Download ppt "第二章 计算机中的信息表示."

Similar presentations


Ads by Google