欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 高考 > 计算机的错误计算(一百零三)

计算机的错误计算(一百零三)

2024/10/25 2:27:07 来源:https://blog.csdn.net/zaim1/article/details/141922203  浏览:    关键词:计算机的错误计算(一百零三)

摘要  探讨 \textup{exp10m1}=10^x-1 的计算精度问题。

       从计算机的错误计算(九十九)知,\textup{exp10m1}=10^x-1 在IEEE 754-2019的列表中,并且定义域是实数域。但是,截止撰写本节内容时,本文作者仍未找到内置了该函数的语言或编译器。

例1.  已知 x=222.222\,.  计算 \textup{exp10m1}=10^x-1\,.

       若在LibreOffice中计算,则有

若在Excel中计算,则有

        若在ISRealsoft中输入 10^(222. 222)-1,则输出为 0.1667247212551063e223 .  这样,LibreOffice与Excel均有3位错误数字,错误率为 3/16 = 18.75% . 

例2.  计算 10^{2.876}-1\,.

        不妨用Java代码编程计算:

import java.lang.Math;
import java.text.DecimalFormat;public class exp10m1{public static void main(String[] args) {double x = 2.876;double result = Math.pow(10,x)-1;String formatted = String.format("%.13f", result);System.out.println(formatted);}
}

则运行后输出为 750.6228940182053 .

       若在Visual Studio 2010下编程计算(部分主要语句):

#include <math.h>
#include <stdlib.h>double x=2.876;
double y=pow(10,x)-1;
printf("%.13lf\n",y);

则输出与Java的输出完全相同。       

       然而,若在ISRealsoft中输入 10^2.876-1,则16位的输出为 0.7506228940182055e3 .  这样,二者的输出中均有1位错误数字。

       点评:两个案例揭示了错误数字的个数是有规律的:其等于自变量的整数位数。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com