C语言的浮点类型:float,double,long double

news2024/9/30 11:37:00

文章目录

  • 浮点型概述
  • 浮点型常量
    • 浮点型常量的后缀
  • 溢出
    • 上溢 overflow
    • 下溢 underflow
  • 一个特殊的浮点值:NaN
  • 初始化

浮点型概述

float 称为单精度浮点型。

double 称为双精度浮点型。

long double 称为长双精度浮点型。

C 标准规定,float 必须至少精确到小数点后面六位数字。

储存一个 float 需要 32 位,8 位用于表示指数的值和符号,剩下的 24 位用于表示非指数部分(也叫尾数或有效数)及其符号。

C 标准规定,double 必须至少精确到小数点后面十位数字,但是通常在任何实现上都精确到了小数点后面十三位数字。

一般情况下,double 占用 64 位。

C 规定,long double 类型至少与 double 类型的精度相同。

给未在函数原型中显式说明参数类型的函数(如 printf())传递参数时,C 编译器会把 float 类型的值自动转换为 double 类型。

浮点型常量

在代码中有多种方式表示浮点型常量。

e 计数法表示的浮点型常量:有符号的数字(包括小数点),后面紧跟 e 或 E,然后是一个带符号的数表示 10 的指数。

e 计数法也称为指数计数法,是科学计数法在计算机中的写法,e 后面的数字代表 10 的指数。

e 计数法可以分成四个部分,即:整数部分,小数点,小数部分,指数部分。如图所示:

在这里插入图片描述

e 计数法表示的浮点数示例:

+1.2E+12

-5.6e-3

正号可以省略,如:

1.2E12

可以没有小数点,仍然是一个浮点数,如:

4e6

可以没有指数部分,如:

12.98

不能同时省略小数点和指数部分,否则将变成整型。

可以省略小数部分,如:

3.e12

也可以省略整数部分,如:

.45e-6

不能同时省略小数部分和整数部分。

有效的浮点数的示例:

.12

100.

.8e-4

浮点型常量中间不能加空格,如下面的写法是错误的:

13.8 e-4

通常,浮点型常量会被认为是 double 类型,会被当成 double 类型储存。

浮点型常量的后缀

使用后缀 f 或者 F 可以将浮点数当做 float 类型,例如:

12.4f

34.5F

使用后缀 l 或者 L 可以将浮点数当做 long double 类型,例如:

12.4L

34.5L

没有后缀的浮点型常量则为 double 类型。

在这里插入图片描述

溢出

上溢 overflow

C语言规定,某个浮点型变量发生上溢时,将会赋给其一个表示无穷大的特定值,用 printf() 显示该值则为 inf 或 infinity,或者具有无穷含义的其他内容。

下溢 underflow

一个特殊的浮点值:NaN

这是 not a number 的缩写。

printf() 函数将其显示为 nan, NaN 或其他类似的内容。

比如,给 asin() 函数传递一个大于 1 的实参,则该函数返回 nan。

初始化

把一个类型的数值初始化给不同类型的变量时,编译器会把值转换成与变量类型匹配的类型。

用浮点型初始化整型会发生截断,直接丢弃小数点后面的数据。

用 double 初始化 float 会发生四舍五入。

代码示例:

#include<stdio.h>
int main(void)
{
	int a = 10.99;
	float b = 10.1111115;
	printf("%d\n", a);
	printf("%f\n", b);
	return 0;
}

结果;

10
10.111112

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/837113.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL存储过程(二十四)

你相信吗&#xff0c; 相信那一天的夕阳吗? 上一章简单介绍了 MySQL的索引(二十三),如果没有看过,请观看上一章 一. 存储过程 MySQL从5.0版本开始支持存储过程和函数。存储过程和函数能够将复杂的SQL逻辑封装在一起&#xff0c; 应用程序无须关注存储过程和函数内部复杂的S…

【DBeaver】CLIENT_PLUGIN_AUTH is required

1、右键打开编辑连接弹窗&#xff0c;进入编辑驱动设置 2、选择“库” 3、全部删掉&#xff0c;然后点击“重置为默认状态” 4、选中然后点击“下载更新” 5、点击版本号&#xff0c;选择与mysql相同的版本 6、最后一步

使用可视化docker浏览器,轻松实现分布式web自动化

01、前言 顺着docker的发展&#xff0c;很多测试的同学也已经在测试工作上使用docker作为环境基础去进行一些自动化测试&#xff0c;这篇文章主要讲述我们在docker中使用浏览器进行自动化测试如果可以实现可视化&#xff0c;同时可以对浏览器进行相关的操作。 02、开篇 首先…

leetcode 33.搜索旋转排序数组

⭐️ 题目描述 &#x1f31f; leetcode链接&#xff1a;搜索旋转排序数组 ps&#xff1a; 本题是二分查找的变形&#xff0c;旋转排序数组之后其实会形成两个有序的区间。算出平均下标先判断是否与 target 相等&#xff0c;因为这样可以减少代码的冗余。如果前者不成立则使用平…

组合总和 II——力扣40

文章目录 题目描述法一 回溯 题目描述 法一 回溯 class Solution{ public:vector<pair<int, int>>freq;vector<vector<int>> res;vector<int> seq;void dfs(int pos, int rest){//如果目标值为0&#xff0c;说明可能有一个组合或者rest本身为0 …

(7.28-8.3)【大数据新闻速递】《数字孪生工业软件白皮书》、《中国绿色算力发展研究报告》发布;华为ChatGPT要来了

【数字孪生工业软件白皮书&#xff08;2023&#xff09;】 近日&#xff0c;第七届数字孪生与智能制造服务学术会议成功举行&#xff0c;2023《数字孪生工业软件白皮书》在会上正式发布。《白皮书》在《Digital Twin》国际期刊专家顾问委员会指导下&#xff0c;由国家重点研发计…

万字长文之 Serverless 实战详细指南

目录 前言 简易博客系统功能概要 云函数的初始化与基础配置 Tencent Serverless Toolkit for VS Code 数据库选择和设计 数据库选择 数据库设计 云函数自定义域名与 API 网关映射 域名解析 API 网关映射 云函数中的路由设计 云函数中的代码组织 Controller Servi…

搭建Django+pyhon+vue自动化测试平台

Django安装 使用管理员身份运行pycharm使用local 1 pip install django -i https://pypi.tuna.tsinghua.edu.cn/simple 检查django是否安装成功 1 python -m django --version 创建项目 1 1 django-admin startproject test cd 切换至创建的项目中启动django项目…

欧拉函数与筛法求欧拉函数

目录 欧拉函数欧拉函数的定义欧拉函数的公式欧拉函数的公式推导欧拉定理典型例题代码实现 筛法求欧拉函数思路分析经典例题代码实现 欧拉函数 欧拉函数的定义 对于任意正整数 n n n,欧拉函数 φ ( n ) φ(n) φ(n) 表示小于或等于 n n n 的正整数中&#xff0c;与 n n n …

企业网盘解析:高效的企业文件共享工具

伴随着信息技术的发展&#xff0c;越来越多的企业选择了基于云存储的企业网盘来进行企业数据存储。那么企业网盘是什么意思呢&#xff1f; 企业网盘是什么意思&#xff1f; 企业网盘&#xff0c;又称企业云盘&#xff0c;顾名思义是为企业提供的网盘服务。除了服务对象不同外&…

【maven】构建项目前clean和不clean的区别

其实很简单&#xff0c;但是百度搜了一下&#xff0c;还是没人能简单说明白。 搬用之前做C项目时总结结论&#xff1a; 所以自己在IDE里一遍遍测试程序能否跑通的时候&#xff0c;不需要clean&#xff0c;因为反正还要改嘛。 但是这个项目测试好了&#xff0c;你要打成jar包给…

全面升级:华为鸿蒙HarmonyOS4正式发布,玩趣个性化,小艺AI升级

8月4日新闻&#xff0c;今天下午&#xff0c;华为正式发布了最新版本的鸿蒙操作系统——HarmonyOS 4&#xff01; 在华为发布会上&#xff0c;鸿蒙HarmonyOS迎来了一系列令人激动的功能升级。其中包括个性化空间、多种生产力工具以及增强的手机AI助手"小艺"。这次更…

Docker入门及安装

文章目录 1.Docker概述:1.什么是docker2.为什么使用docker3.docker优点4.docker资源网址 2.Docker安装1.卸载旧版本dorcker(非必要)2.设置Docker仓库安装docker引擎4.启动验证docker卸载docker 3.Docker底层原理1.docker的结构和基本概念2.docker为什么比虚拟机快 1.Docker概述…

【新版系统架构补充】-传输介质、子网划分

传输介质 双绞线&#xff1a;无屏蔽双绞线UTP和屏蔽双绞线STP&#xff0c;传输距离在100m内 网线安装标准&#xff1a; 光纤&#xff1a;由纤芯和包层组成&#xff0c;分多模光纤MMF、单模光纤SMF 无线信道&#xff1a;分为无线电波和红外光波 通信方式和交换方式 单工…

简单易懂的生鲜蔬果小程序开发指南

随着人们对健康意识的提高&#xff0c;越来越多的人开始注重饮食健康&#xff0c;选择新鲜的果蔬产品。为了满足市场需求&#xff0c;制作一个果蔬配送小程序成为了一个不错的选择。本文将详细介绍如何快速制作一个果蔬配送小程序。 第一步&#xff1a;登录乔拓云网后台&#x…

InterProcessMutex 类的作用和使用

InterProcessMutex 类是Curator框架中的一个分布式锁的实现&#xff0c;用于在分布式环境下实现互斥锁。 InterProcessMutex 的使用步骤如下&#xff1a; 创建 CuratorFramework 客户端实例&#xff0c;并启动客户端连接到 ZooKeeper 服务器。使用 CuratorFramework 的 creat…

leetcode37. 解数独(java)

解数独 解数独题目描述回溯算法代码演示 回溯算法 解数独 难度 困难 leetcode37. 解数独 题目描述 编写一个程序&#xff0c;通过填充空格来解决数独问题。 数独的解法需 遵循如下规则&#xff1a; 1.数字 1-9 在每一行只能出现一次。 2.数字 1-9 在每一列只能出现一次。 3.数字…

2020-2023中国高等级自动驾驶产业发展趋势研究

1.1 概念界定 2020-2023中国高等级自动驾驶产业发展趋势研究Trends in China High-level Autonomous Driving from 2020 to 2023自动驾驶发展过程中&#xff0c;中国出现了诸多专注于研发L3级以上自动驾驶的公司&#xff0c;其在业界地位也越来越重要。本报告围绕“高等级自动…

如何搭建自动化测试框架?资深测试整理的PO模式,一套打通自动化...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 Po模型介绍 1、简…

MCU的类型和应用领域简介

MCU&#xff08;Microcontroller Unit&#xff09;根据存储器类型可分为无片内ROM型和带片内ROM型。无片内ROM型的芯片需要外接EPROM才能应用&#xff0c;而带片内ROM型则有不同的子类型&#xff0c;如片内EPROM型、MASK片内掩模ROM型和片内Flash型。 MCU还可以按照用途分为通…