C语言典型例题19

server/2024/10/18 14:24:26/

《C程序设计教程(第四版)——谭浩强》


例题2.7 检查浮点型数据的舍去误差

C语言知识:

浮点数在C语言用有两个类型,有float和double类型,其中double类型的数据精度更高


解题思路:

可以将一个double类型的数据和float类型的数据输入,观察他们的输出情况,从而判断他们的舍去误差

代码:

//《C程序设计教程(第四版)——谭浩强》
//例题2.7 检查浮点型数据的舍去误差//C语言知识:浮点数在C语言用有两个类型,有float和double类型,其中double类型的数据精度更高
//解题思路:可以将一个double类型的数据和float类型的数据输入,观察他们的输出情况,从而判断他们的舍去误差#include <stdio.h>
int main()
{float a;double b;printf("请输入一个浮点数a,用于判断float类型的误差:\n");scanf("%f",&a);printf("请输入一个浮点数b,用于判断double类型的误差:\n");scanf("%lf",&b);//读取 double 类型的输入(注意 %lf)printf("float类型的数据a的输出结果为:\n%f\n",a);printf("double类型的数据b的输出结果为:\n%lf\n",b);return 0;
}

运行过程:

代码运行过程中遇到的问题:

1.scanf格式化符号:在读取double类型的变量时,您使用了%f ,这是不正确的,应该使用 %lf。
2.输出格式:虽然%f在 printf 中是正确的,但通常打印 double 类型的变量时应该使用%lf来强调其类型。
3.浮点数精度:您可能想要展示浮点数的精度误差,而仅仅打印这些数字可能不足以体现。

// 额外:演示浮点数的误差
printf("\n浮点数在计算机内部的存储及其误差示例:\n");
printf("a + 1.0f = %f\n", a + 1.0f);
printf("b + 1.0 = %lf\n", b + 1.0);

4.单精度浮点数变量,只能提供6~7位有效数字,第7位之后的数字不起作用,后面的几位被忽略了。

5.C编译系统把所有浮点数常量都按照双精度处理,分配8字节,这是为了在运算时保持较高的精度。如果不想把浮点型常量按照双精度处理,可以在数值后面加字母f或者F,这样编译系统就会把他们当成单精度浮点数处理,分配4字节。这样,数值范围和有效位数都减小了。


http://www.ppmy.cn/server/93282.html

相关文章

完美解决原生小程序开发版的时候,获取定位正常,体验版与线上版本获取不到位置信息

问题描述&#xff1a;我的小程序在本地无论是预览还是真机测试&#xff0c;获取位置信息都是正常的&#xff0c;但是当我发布为体验版或者线上版本的话&#xff0c;就会提示获取位置失败&#xff08;这里只是我自己遇到的对应问题&#xff09; 原因分析&#xff1a; 第一&#…

【模型】CatBoost

CatBoost 是一种高效的梯度提升决策树&#xff08;GBDT&#xff09;算法&#xff0c;由俄罗斯科技公司 Yandex 开发。它特别擅长处理分类特征和小数据集&#xff0c;在许多机器学习竞赛和实际应用中表现出色。以下是 CatBoost 的详细介绍&#xff1a; 1. 特点 原生支持分类特…

数据仓库中的数据治理流程

在数据仓库中&#xff0c;数据治理流程是确保数据质量和可信度的关键步骤。通过明确流程、责任和控制机制&#xff0c;数据治理流程有助于规范数据仓库的管理和运营&#xff0c;提高数据的准确性、完整性和一致性。 一、策划阶段&#xff1a; 1.明确数据治理目标&#xff1a;…

devpi,一个神奇的 Python 库

在Python的世界中&#xff0c;包管理是一项核心任务&#xff0c;而devpi正是这方面的佼佼者。它不仅仅是一个简单的包索引服务器&#xff0c;更是一个强大的PyPI&#xff08;Python Package Index&#xff09;代理和缓存工具。devpi允许开发者构建本地或私有的包索引&#xff0…

ArcGIS for js 标记(vue代码)

一、引入依赖 import Graphic from "arcgis/core/Graphic"; import GraphicsLayer from "arcgis/core/layers/GraphicsLayer"; import Color from "arcgis/core/Color"; import TextSymbol from "arcgis/core/symbols/TextSymbol.js"…

php 箭头函数详解

PHP 的箭头函数&#xff08;也称为匿名函数或闭包函数&#xff09;是一种简洁的定义单表达式函数的方法。这种语法是从 PHP 7.4 版本开始引入的&#xff0c;它使得创建简短的一次性使用的函数变得更加方便。 基本语法 箭头函数的基本语法如下&#xff1a; fn($parameters) &…

Java(十)——接口

个人简介 &#x1f440;个人主页&#xff1a; 前端杂货铺 ⚡开源项目&#xff1a; rich-vue3 &#xff08;基于 Vue3 TS Pinia Element Plus Spring全家桶 MySQL&#xff09; &#x1f64b;‍♂️学习方向&#xff1a; 主攻前端方向&#xff0c;正逐渐往全干发展 &#x1…

【前端】[Spring] Spring Web MVC基础理论

[Spring] Spring Web MVC基础理论 Spring Web MVC&#xff08;简称Spring MVC&#xff09;是Spring框架中用于构建Web应用程序的一个模块&#xff0c;它实现了MVC&#xff08;Model-View-Controller&#xff09;设计模式。以下是对Spring Web MVC基础理论的详细解释&#xff1…