您现在的位置是:首页 >动态 > 2024-01-19 15:18:30 来源:

浮点运算器中的阶码部件可实现加减乘除运算(浮点运算)

导读 大家好,我是小夏,我来为大家解答以上问题。浮点运算器中的阶码部件可实现加减乘除运算,浮点运算很多人还不知道,现在让我们一起来看看吧...

大家好,我是小夏,我来为大家解答以上问题。浮点运算器中的阶码部件可实现加减乘除运算,浮点运算很多人还不知道,现在让我们一起来看看吧!

当我们用不同的电脑计算圆周率时,会发现一台电脑的计算较另一台来讲结果更加精确。或者我们在进行枪战游戏的时候,当一粒子弹击中墙壁时,墙上剥落下一块墙皮,同样的场面在一台电脑上的表现可能会非常的呆板、做作;而在另外一台电脑上就会非常生动形象,甚至与我们在现实中看到的所差无几。 这都是浮点运算能力的差异导致的。

  浮点运算就是实数运算,因为计算机只能存储整数,所以实数都是约数,这样浮点运算是很慢的而且会有误差

  现在大多数机器都是32位的,也就是说32为都用来表示整数的话,那么对于无符号整数就是0 到 2^32-1,对于有符号的话就是-2^31 到 2^31-1。如果是实数的话,就不是这样了,机器有两种办法表示实数,一种是定点,就是小数点位置是固定的,一种是浮点,就是小数点位置不固定,计算方法也比较麻烦,通常会比整数运算代价大很多

  FPU->Floating Point Unit,浮点运算部件

  BCD->Binary Coded Decimal 压缩的二十进制数,是用4个位来表示数字0~9,一个byte表示两个十进制数,比如01111001表示89

  科学计数法:这是科学的~~~~具体含义查查初中还是小学的数学课本 D:)

  浮点运算使用三种不同的数据:

  1)整数(Integer),又分为字,短整数(Short Integer)和长整数(Long Integer)

  2)实数(Real)分单精度(Single Real)和双精度(Double Real)

  3)压缩的二十进制数(BCD)

  下面是其位数(bits)和能表示的大致范围和

  Type Length Range

  -----------------------------------------------

  Word Integer 16 bit -32768 to 32768

  Short Integer 32 bit -2.14e9 to 2.14e9

  Long Integer 64 bit -9.22e18 to 9.22e18

  Single Real 32 bit 1.18e-38 to 3.40e38

  Double Real 64 bit 2.23e-308 to 1.79e308

  extended Real 80 bit 3.37e-1932 to 1.18e4932

  Packed BCD 80 bit -1e18 to 1e18

  双精度数和扩展精度数表示范围对一般应用来说已经足够大了!

  1)整数,以补码形式存储,正数的补码是其本身,负数补码是其绝对值的各位变反后加1,下面是实际存储的例子:

  0024 var1 dw 24

  FFFE var2 dw -2

  000004D2 var3 dd 1234

  FFFFFF85 var4 dd -123

  0000000000002694var5 dq 9876

  2)BCD数

  在FPU中用80位表示正好是浮点堆寄存器的宽度,在其格式如下存储:

  Bit

  79___72_71________________________________________0

  符号 ---18个二十进制数--------

  看下面的例子:

  00000000000000012345 var1 dt 12345

  80000000000000000100 var2 dt -100

  3)浮点数,这个复杂点,有三种格式

  单精度:_31_30________23_22___________0

  符号 指数 有效数

  双精度:_63_62__________52_51__________________0

  符号 指数 有效数

  扩展精度数:

  _79_78____________64_63___________________0

  符号 指数 有效数

  例子:

  C377999A var1 dd -247.6

  40000000 var2 dd 2.0

  486F4200 var3 real4 2.45e+5

  4059100000000000 var4 dq 100.25

  3F543BF727136A40 var5 real8 0.00123

  C377999A var1 dd -247.6

  40000000 var2 dd 2.0

  486F4200 var3 real4 2.45e+5

  4059100000000000 var4 dq 100.25

  3F543BF727136A40 var5 real8 0.001235

  400487F34D6A161E4F76 var6 real10

  另外,浮点运算的常见形式是开方运算。

本文到此讲解完毕了,希望对大家有帮助。