维普资讯 http://doc.docsou.com
第1 7卷第 2期
20 0 7年 4月
长
春
大
学
学
报
V0. 7 No 2 11 . Ap .2 0 r 07
J URNAL O HANGC 0 F C HUN UNⅣ ERS I r Y
文章编号: 0 30 (0 7 0 0 3 o 1 9— 9 7 20 )2- 0 8一 4 0
指数函数 e x的快速计算方法
张莹雪,王华军
(. 1福建泉州华侨大学信息学院,福建泉州 322; . 60 1 2浙江大学理学院地理科学系,浙江杭州 300 ) 1 0 0
摘
要:于双精度数在计算机中是按阶码和尾码分别存储的原理,出了一种新的计算指数函数基提
Y=e的方法,它能直接计算出 Y的指数部分 (阶码 )有效数位 (码 )并直接存储到变量 Y中。和尾,
通过与 M ta a, Th中的库函数 ep比较, x相表明这种新算法计算精度更可靠,速度更快。
关键词:数函数;指数值计算;双精度; t b Maa l
中图分类号:2 3 2 0 1.文献标识码: A
0引
言
指数函数作为工程计算中的一个常用函数,广泛使用于科学研究、工程设计等许多领域。传统的计算方法是利用指数函数的幂级数展开
2 3 4
e1青+++ +++ L=,
取其前/项进行近似计算【,优点是当较小时 ( 7, 1其] <1计算速度快,当比较大时, )但展开项较多, 运算量较大,算速度变慢,计特别是当遇到海量的指数运算时,要较长的时间…。因此非常有必要发展一需种快速、简洁的算法,提高指数函数的计算精度和效率。本文利用双精度浮点数在计算机中的存储形式与泰
勒级数展开相结合对算法进行改进,达到节省运算时间,提高运算速度的目的。
1算法原理
指数函数运算可表示为
Y= e, () 1
已知, Y的问题。求 1 1双精度浮点数在计算机中的存储方式[— . 2
双精度浮点数在计算机中占8个字节,位, 6 4其中最高位(3为符号位, 6)见图 11,代表负,代表正。相邻 0 l位(2 5 ) 1 6~ 2表示指数部分(阶码)利用指数部分可快速地反映出双精度数的大小。在比较两个双精度数的,大小时,要在指数部分加移码,双精度数的“移码” 1 2。剩余 5位(1 0用来表示有效数位(为 3 0
2 5—)尾码)有效,数位反映出双精度数的精度,存储的有效数位为实际有效数位的小数部分,实际有效数位默认整数部分为 1。
符号位 指数部分
有效数位
图 1浮点数在计算机中的存储方式
例如将一 .2转化为计算机中的二进制数双精度浮点数时: 0 65=一/ 0 65一 .2 58=一/’ 52=一(0 ) 11×
收稿日期:070 -0 2 0 -32
基金项目:国家自然科学基金资助项目(0 00 7 56 3 0 )
作者简介:张莹雪 (98)女, 17.,吉林省长春市人,福建泉州华侨大学信息学院助教,主要从事计算机仿真及计算科学方面研究。