C语言支持的基本数据类型

float:单精度浮点数,存储长度:32 double :双精度浮点数,存储长度:64 long double :扩展精度浮点数,存储长度:80 / 96

科学计数法(Scientific Notation)与浮点数

[

](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050512-300x197.jpg)
](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050512-300x197.jpg)

浮点数(Floating Point)的表示范围

[

](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050513-300x197.jpg)
](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050513-300x197.jpg)

浮点数的表示

[

](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050514-300x200.png)
](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050514-300x200.png)

IEEE 754 标准

现在所有通用计算机都采用IEEE 754来表示浮点数 [

](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050515-300x190.jpg)
](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050515-300x190.jpg)

机器数转换为真值

[

](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050516-300x191.png)
](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050516-300x191.png)

真值转换为机器数

已知float型变量x的值为-12.75,求x的机器数是多少? -12.75=-1100.11B=-1.10011B x 23(2的3次方),阶(指数)为3 因此,符号S=1 阶码E=127+3=128+2=1000 0010 显式表示的部分尾数Significant= 100 1100 0000 0000 0000 0000 x 的机器数表示为: 1| 1000 0010 |100 1100 0000 0000 0000 0000 转换为十六进制表示为:C14C0000H

0的机器数表示

[

](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050517-300x189.png)
](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050517-300x189.png)

+∞/-∞的机器数表示

浮点数除0的结果是+/- ∞, 而不是溢出异常.(整数除0为异常) 为什么要这样处理? • 可以利用+∞/-∞作比较。例如:X/0>Y可作为有效比较 How to represent +∞/-∞? • Exponent : all ones (11111111B = 255) • Significand: all zeros +∞ : 0 11111111 00000000000000000000000 -∞ : 1 11111111 00000000000000000000000 相关操作: 5.0 / 0 = +∞, -5.0 / 0 = -∞ 5+(+∞) = +∞, (+∞)+(+∞) = +∞ 5 - (+∞) = -∞, (-∞) - (+∞) = -∞ etc

“非数”的表示

Sqrt (- 4.0) = ? 0/0 = ? – 称为Not a Number (NaN) - “非数” How to represent NaN Exponent = 255 Significand: nonzero NaNs 可以帮助调试程序 相关操作: sqrt (-4.0) = NaN, 0/0 = NaN, op (NaN,x) = NaN ,+∞+(-∞) = NaN, +∞- (+∞) = NaN ,∞/∞ = NaN

非规格化数(Denorms)的表示

[

](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050518-300x159.png)](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050518.png) [![](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050519-300x167.png)
](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050518-300x159.png)](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050518.png) [![](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050519-300x167.png)

关于浮点数精度的一个例子

[

](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050520-300x185.png)
](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050520-300x185.png)

视频链接:

计算机系统基础(一):程序的表示,转换与链接

计算机系统基础(二):程序的执行和存储访问

计算机系统基础(三):异常、中断和输入/输出