﻿0
00:00:00,000-->00:00:12,360


1
00:00:12,400-->00:00:16,840
各种浮点数类型 在数轴上的相对的位置

2
00:00:16,880-->00:00:19,120
这应该说还是表示得比较好

3
00:00:19,160-->00:00:20,520
这实际上我们可以想象

4
00:00:20,560-->00:00:22,440
就是0在中间 那么两头甩开去呢

5
00:00:22,480-->00:00:24,640
就是正无穷和负无穷 完了呢

6
00:00:24,680-->00:00:26,840
绝对值比较小的 那么应该是这个

7
00:00:26,880-->00:00:28,680
非规格化的浮点数 在两侧 

8
00:00:28,720-->00:00:30,160
是规格化的浮点数 这个我们说过啦

9
00:00:30,200-->00:00:31,880
就是非规格化的浮点数

10
00:00:31,920-->00:00:33,520
因为它的绝对值应该比较小

11
00:00:33,560-->00:00:35,280
它不得不通过丧失精度

12
00:00:35,320-->00:00:38,280
来表示这些比较小的数 这个是可以想象

13
00:00:38,320-->00:00:40,200
而且我们也完全可以想象 就是说

14
00:00:40,240-->00:00:43,720
在数轴上 它们的分布肯定是不均匀的

15
00:00:43,760-->00:00:46,320
因为你越往两边甩开多少次幂就越高嘛

16
00:00:46,360-->00:00:47,600
所以它应该表示的数

17
00:00:47,640-->00:00:49,000
在数轴上应该是越稀疏的

18
00:00:49,040-->00:00:50,720
应该往当中的话应该是越密

19
00:00:50,760-->00:00:53,080
这个我们可以想象 应该这个样子

20
00:00:53,120-->00:00:54,640
完了呢就是我们举一个小小的例子

21
00:00:54,680-->00:00:57,560
就假设啊 因为32位64位这个算起来太麻烦

22
00:00:57,600-->00:00:59,480
给了一个小浮点数的实例

23
00:00:59,520-->00:01:03,080
假设 我们存在这么一个8位浮点数的设计

24
00:01:03,120-->00:01:05,800
1加4加3 就是这个表示方式

25
00:01:05,840-->00:01:07,480
所有的规格呢除了位宽之外

26
00:01:07,520-->00:01:09,080
都是符合这个754的标准的

27
00:01:09,120-->00:01:11,000
就是麻雀虽小五脏俱全 就这个概念

28
00:01:11,040-->00:01:11,720
那么然后呢

29
00:01:11,760-->00:01:13,080
我们在这种情况下做一种小小的练习

30
00:01:13,120-->00:01:14,440
实际上就问一下它的偏置量是多少

31
00:01:14,480-->00:01:17,160
2的e减1次方 减1 

32
00:01:17,200-->00:01:18,480
咱们就算一下 这很简单

33
00:01:18,520-->00:01:22,000
那么这边呢实际上就给出exp这个域

34
00:01:22,040-->00:01:24,280
以及它所对应的多少次幂

35
00:01:24,320-->00:01:25,800
这个数值的一个对应关系

36
00:01:25,840-->00:01:27,720
那么一共从0表示到15啰

37
00:01:27,760-->00:01:29,960
因为4加3加1嘛 它一共就4位嘛

38
00:01:30,000-->00:01:32,360
这个大家看一看 那么如果是全0的话呢

39
00:01:32,400-->00:01:35,080
按照754的标准 就应该就是非规格化数

40
00:01:35,120-->00:01:36,440
全1的话呢就是这底下

41
00:01:36,480-->00:01:37,840
就这些特殊的一些value

42
00:01:37,880-->00:01:40,600
就这个样子 那么这个呢就更有意思

43
00:01:40,640-->00:01:42,160
把它的取值范围给它给列了出来了

44
00:01:42,200-->00:01:44,160
这个不单单是说只列那个E

45
00:01:44,200-->00:01:45,960
我把它的frac这个范围给它列出来

46
00:01:46,000-->00:01:47,320
这个大家来看一眼

47
00:01:47,360-->00:01:48,680
数字的这个表示列在左侧

48
00:01:48,720-->00:01:50,280
右侧是它的value

49
00:01:50,320-->00:01:53,440
那么如果我们 先不看这个s位的话

50
00:01:53,480-->00:01:55,120
因为s实际上是可0可1

51
00:01:55,160-->00:01:57,080
当然这里边写的是0啦

52
00:01:57,120-->00:01:58,200
如果我们不看这个s的话 

53
00:01:58,240-->00:01:59,480
就看exp frac的话

54
00:01:59,520-->00:02:00,560
大家看一看

55
00:02:00,600-->00:02:03,160
这里面有一个什么比较好的一个属性啊

56
00:02:03,200-->00:02:04,960
就是这个浮点数 来看一下

57
00:02:05,000-->00:02:07,400
不看这个s位 我们就看exp加frac

58
00:02:07,440-->00:02:09,080
那么就是0000 0000 开始

59
00:02:09,120-->00:02:11,160
到1111 000 会发现怎么着

60
00:02:11,200-->00:02:13,200
它们这个浮点数之间 怎么

61
00:02:13,240-->00:02:14,480
它们的比大比小啊 

62
00:02:14,520-->00:02:15,720
就是我们看符号位的话

63
00:02:15,760-->00:02:16,920
就跟无符号整数一样 

64
00:02:16,960-->00:02:18,520
就不管你数字的类型

65
00:02:18,560-->00:02:20,440
就完全可以采用这种 

66
00:02:20,480-->00:02:22,640
整型的比较的策略来完成

67
00:02:22,680-->00:02:25,360
也就是说 从 在电路上可以设计得一样

68
00:02:25,400-->00:02:26,720
实际上这是一个不错的属性

69
00:02:26,760-->00:02:29,000
大家知道就是说 浮点数本身的计算

70
00:02:29,040-->00:02:31,280
就是你要设计一个浮点处理器

71
00:02:31,320-->00:02:33,640
还是比较困难的 比整型要困难得多啦

72
00:02:33,680-->00:02:35,920
但是它这个比较电路上面倒是还比较好

73
00:02:35,960-->00:02:37,440
你如果不看这个符号位的话

74
00:02:37,480-->00:02:39,440
基本上跟整型比较是一样的

75
00:02:39,480-->00:02:41,600
另外呢这张图呢有一个什么好处呢

76
00:02:41,640-->00:02:43,240
就是说 我们可以看一下

77
00:02:43,280-->00:02:44,400
就是这里面给大家

78
00:02:44,440-->00:02:46,000
标识出了几个特殊的例子

79
00:02:46,040-->00:02:48,280
就是 最接近于0的那个数 是什么

80
00:02:48,320-->00:02:50,200
大家可以想 然后呢 又提到 就是说 

81
00:02:50,240-->00:02:52,160
绝对值最大的非规格化数是多少

82
00:02:52,200-->00:02:53,560
最小的规格化数是多少

83
00:02:53,600-->00:02:54,680
那么这两个正好挨着的

84
00:02:54,720-->00:02:55,880
因为它是连续的嘛 正好挨着

85
00:02:55,920-->00:02:58,480
种种这些属性 大家可以观察一下

86
00:02:58,520-->00:03:00,320
那么有一些比较有意思的这些规律

87
00:03:00,360-->00:03:02,560
咱们这都不看啦 就是 可以 不详细说啦

88
00:03:02,600-->00:03:04,000
那你这里边可以非常精确的看出来

89
00:03:04,040-->00:03:05,360
应该是个什么样子 

90
00:03:05,400-->00:03:07,480
啊 就是刚才一个说啦 就是数轴上的分布

91
00:03:07,520-->00:03:08,440
刚才提到过啦 

92
00:03:08,480-->00:03:10,840
越靠近当中的数轴当中的原点应该是越紧 

93
00:03:10,880-->00:03:12,040
两边越甩开就应当是越疏散啦

94
00:03:12,080-->00:03:13,800
它是乘上2的多少次方嘛

95
00:03:13,840-->00:03:17,120
就2的幂次方是增长这个幅度非常大的

96
00:03:17,160-->00:03:18,480
它的有效数位就那么一些

97
00:03:18,520-->00:03:20,360
肯定就是说你绝对值越小

98
00:03:20,400-->00:03:22,120
相对来说这个点就布得越密

99
00:03:22,160-->00:03:23,600
越大呢这个点就布得越疏了

100
00:03:23,640-->00:03:25,960
这非常明显 再给大家看一下ppt

101
00:03:26,000-->00:03:28,120
这个相当于就给一些感性的认识

102
00:03:28,160-->00:03:29,760
就不可能要去记这些数 就是

103
00:03:29,800-->00:03:30,880
大概我们知道 

104
00:03:30,920-->00:03:34,240
这些浮点数它的表示范围是怎么样子

105
00:03:34,280-->00:03:36,000
就是最大的 最小的 

106
00:03:36,040-->00:03:36,960
当然还得要区分

107
00:03:37,000-->00:03:38,440
它到底是规格化的非规格化的

108
00:03:38,480-->00:03:40,280
就是大家可以大概的看一看

109
00:03:40,320-->00:03:41,600
它的表示范围是什么样子

110
00:03:41,640-->00:03:43,000
有个大概的认识就是说

111
00:03:43,040-->00:03:44,960
咱们如果进行数值计算的话

112
00:03:45,000-->00:03:47,840
那么你的应用的取值范围大概会有多大

113
00:03:47,880-->00:03:50,440
那么你怎么映射到上面不同的这个

114
00:03:50,480-->00:03:52,680
浮点数的规格化表示上面去

115
00:03:52,720-->00:03:54,680
它的表示范围能不能涵盖你

116
00:03:54,720-->00:03:56,600
这个应该有一个大致的

117
00:03:56,640-->00:03:57,880
一个感性上的一个认识

118
00:03:57,920-->00:03:59,840
刚才就是我说过浮点数的一些编码特性

119
00:03:59,880-->00:04:02,120
就是刚才我们拿那个小小的这个8位的

120
00:04:02,160-->00:04:04,480
浮点数做了一个例子 这里面就提到过

121
00:04:04,520-->00:04:07,440
浮点数的很好的属性 就是说

122
00:04:07,480-->00:04:09,120
几乎 注意有一个几乎

123
00:04:09,160-->00:04:11,680
可以直接使用无符号整数的比较方式

124
00:04:11,720-->00:04:13,440
那反例 反例是什么就是说我们

125
00:04:13,480-->00:04:15,280
这东西如果撇掉它们不看

126
00:04:15,320-->00:04:16,400
把它们排除出去 

127
00:04:16,440-->00:04:19,560
那就是可以直接使用无符号整数的方式

128
00:04:19,600-->00:04:21,840
除了 符号位要先比较 

129
00:04:21,880-->00:04:23,880
因为我们说过 它一个特例就是正0负0嘛

130
00:04:23,920-->00:04:25,280
所以符号位肯定要考虑一下

131
00:04:25,320-->00:04:27,120
还有一个就是不是数的数的问题

132
00:04:27,160-->00:04:29,360
其他情况呢都可以使用

133
00:04:29,400-->00:04:31,640
无符号整数的直接的比较方式

134
00:04:31,680-->00:04:33,360
包括规格化对非规格化

135
00:04:33,400-->00:04:34,800
当然规格化跟规格化就不用说啦

136
00:04:34,840-->00:04:36,360
包括规格化跟无穷

137
00:04:36,400-->00:04:38,400
如果把上面这些例外都排除掉的话呢

138
00:04:38,440-->00:04:39,960
完全可以采用

139
00:04:40,000-->00:04:41,760
无符号整数的直接的表示方式

140
00:04:41,800-->00:04:43,280
这刚才这张图就已经看到啦

141
00:04:43,320-->00:04:44,760
实际上就是 给大家再回顾一下

142
00:04:44,800-->00:04:46,440
就是如果我们不看这个s的话

143
00:04:46,480-->00:04:48,320
刚好它们的整个的这个数值大小 

144
00:04:48,360-->00:04:50,000
就是说从小到大排嘛

145
00:04:50,040-->00:04:51,640
刚好是 完全就相当于是一个

146
00:04:51,680-->00:04:54,000
连续的一个无符号数在从里面0000

147
00:04:54,040-->00:04:56,280
一直往下排布 这一个数列非常清楚

148
00:04:56,320-->00:04:57,920
非常清楚 就是这个样子

149
00:04:57,960-->00:04:57,960


150
00:04:58,000-->00:04:58,000


151
00:04:58,040-->00:04:58,040


152
00:04:58,080-->00:04:58,080


153
00:04:58,120-->00:04:58,120


154
00:04:58,160-->00:04:58,160


155
00:04:58,200-->00:04:58,200


156
00:04:58,240-->00:04:58,240


157
00:04:58,280-->00:04:58,280


158
00:04:58,320-->00:04:58,320


159
00:04:58,360-->00:04:58,360


160
00:04:58,400-->00:04:58,400


161
00:04:58,440-->00:04:58,440


162
00:04:58,480-->00:04:58,480


163
00:04:58,520-->00:04:58,520


164
00:04:58,560-->00:04:58,560


165
00:04:58,600-->00:04:58,600


166
00:04:58,640-->00:04:58,640


167
00:04:58,680-->00:04:58,680


168
00:04:58,720-->00:04:58,720


169
00:04:58,760-->00:04:58,760


170
00:04:58,800-->00:04:58,800


171
00:04:58,840-->00:04:58,840


172
00:04:58,880-->00:04:58,880


173
00:04:58,920-->00:04:58,920


174
00:04:58,960-->00:04:58,960


175
00:04:59,000-->00:04:59,000


176
00:04:59,040-->00:04:59,040


177
00:04:59,080-->00:04:59,080


178
00:04:59,120-->00:04:59,120


179
00:04:59,160-->00:04:59,160


180
00:04:59,200-->00:04:59,200


181
00:04:59,240-->00:04:59,240


182
00:04:59,280-->00:04:59,280


183
00:04:59,320-->00:04:59,320


184
00:04:59,360-->00:04:59,360


185
00:04:59,400-->00:04:59,400


186
00:04:59,440-->00:04:59,440


187
00:04:59,480-->00:04:59,480


188
00:04:59,520-->00:04:59,520


189
00:04:59,560-->00:04:59,560


190
00:04:59,600-->00:04:59,600


191
00:04:59,640-->00:04:59,640


192
00:04:59,680-->00:04:59,680


193
00:04:59,720-->00:04:59,720


194
00:04:59,760-->00:04:59,760


195
00:04:59,800-->00:04:59,800


196
00:04:59,840-->00:04:59,840


197
00:04:59,880-->00:04:59,880


198
00:04:59,920-->00:04:59,920


199
00:04:59,960-->00:04:59,960


200
00:05:00,000-->00:05:00,000


201
00:05:00,040-->00:05:00,040


202
00:05:00,080-->00:05:00,080


203
00:05:00,120-->00:05:00,120


204
00:05:00,160-->00:05:00,160


205
00:05:00,200-->00:05:00,200


206
00:05:00,240-->00:05:00,240


207
00:05:00,280-->00:05:00,280


208
00:05:00,320-->00:05:00,320


209
00:05:00,360-->00:05:00,360


210
00:05:00,400-->00:05:00,400


211
00:05:00,440-->00:05:00,440


212
00:05:00,480-->00:05:00,480


213
00:05:00,520-->00:05:00,520


214
00:05:00,560-->00:05:00,560


215
00:05:00,600-->00:05:00,600


216
00:05:00,640-->00:05:00,640


217
00:05:00,680-->00:05:00,680


218
00:05:00,720-->00:05:00,720


219
00:05:00,760-->00:05:00,760


220
00:05:00,800-->00:05:00,800


221
00:05:00,840-->00:05:00,840


222
00:05:00,880-->00:05:00,880



