数据结构与算法

数据结构与算法(详细资料暂没查询到)

目的

数据结构:是将有特定关系的数据元素的集合
数据结构与算法是为了做程序设计而结合的

堆和栈(暂没很好的资料参考)

浮点数类型

浮点数与二进制之间的转换

sign(一位):0表示正,1表示负
Exponent(8bit):指数部分。底数位2
Mantissa(除去小数点前整数部分,共23bit):基数部分。表示具体数值

实际例子(转)[不太懂]

Step 1 改写整数部分

以数值5.2为例。先不考虑指数部分,我们先单纯的将十进制数改写成二进制。
整数部分很简单,5.即101.。

Step 2 改写小数部分

小数部分我们相当于拆成是2-1一直到2-N的和。例如:
0.2 = 0.125+0.0625+0.007825+0.00390625即2-3+2-4+2-7+2-8….,也即.00110011001100110011

Step3 规格化

让小数点前只有一位

Step4填充

Exponent:之前说过需要以127作为偏移量调整。因此2的2次方,指数部分偏移成2+127即129,表示成10000001填入。
Mantissa:整数部分的1在填充时被舍去。因为规格后的整数部分总是1

ps:在相关程序的上下文中加上fesetenv,可以迫使CPU放弃使用非规范化浮点计算,提高性能。

你可能感兴趣的:(数据结构与算法)