郭德纲 太原我的故乡:什么是浮点运算?

来源:百度文库 编辑:高考问答 时间:2024/04/26 20:09:10

比如1000是整数,可以表示为1.0*10^3,这种方式就是浮点方式,也就是说,cpu在计算数据的时候会计算分数形式的数字,这种计算需要的时间大大超过cpu计算整数之间的运算所需要的时间。
在现在的计算机技术中,由于大量多媒体技术的应用,浮点数的计算大大增加了,比如3D图形的渲染等工作,因此浮点运算的能力是考察cpu计算能力的重要指标,现在一般用“每秒钟所执行浮点运算次数”—— FLOPS(FLOating Point Operations per Second)这个单位来衡量计算能力。

当我们用不同的电脑计算圆周率时,会发现一台电脑的计算较另一台来讲结果更加精确。或者我们在进行枪战游戏的时候,当一粒子弹击中墙壁时,墙上剥落下一块墙皮,同样的场面在一台电脑上的表现可能会非常的呆板、做作;而在另外一台电脑上就会非常生动形象,甚至与我们在现实中看到的所差无几。
以上我们看到的一切,都源于CPU内部添加的“浮点运算功能”。浮点运算能力是关系到CPU的多媒体,3D图形处理的一个重要指标。P4中只有2个浮点执行单元,而其中一个单元要同时处理FADD? FMUL? MMX? SSE? 和SSE2,所以P4处理器的浮点单元设计应该是整个处理器设计中最薄弱的部分。AMD则为Athlon设计了3个并行的浮点、多媒体执行单元。其中一个是浮点的存储,一个是浮点加,一个是浮点乘,其中浮点加和浮点乘是分开的,所以Athlon中就有两个并行的浮点通道,三个执行单元,而且相互之间完全不受干扰,这是所谓的超标量的浮点结构,可以说Athlon的浮点运算无疑是目前最强的。

  浮点运算就是实数运算,因为计算机只能存储整数,所以实数都是约数,这样浮点运算是很慢的而且会有误差。现在大多数机器都是32位的,也就是说32位都用来表示整数的话,那么对于无符号整数就是0 到 2^32-1,对于有符号的话就是-2^31 到 2^31-1。
  浮点运算使用三种不同的数据:
  1)整数(Integer),又分为字,短整数(Short Integer)和长整数(Long Integer)
  2)实数(Real)分单精度(Single Real)和双精度(Double Real)
  3)压缩的二十进制数(BCD)