当前位置: 首页 > news >正文

【时时三省】(C语言基础)浮点型数据

山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省

浮点型数据

浮点型数据是用来表示具有小数点的实数的,为什么在C中把实数称为浮点数呢?在C语言中,实数是以指数正式存放在在储单元中的。一个实数表示为指数可以有不止一种形式。

小数点的位置是可以在数字之间、之前或之后(加)浮动的,只要在小数点位置浮动的同时改变指数的值,就可以保证它的值不会改变,由于小数点位置可以浮动,所以实数的指数形式称为浮点数

浮点数类型包括float(单精度浮点型)、double(双精度浮点型)、long double(长双精度浮点型)

float型(单精度浮点型)

编译系统为每一个float型变量分配4个字节,数值以规范化的二进制数指数形式存放在存储单元中,在存储时,系统将实型数据分成小数部分和指数部分两个部分,分别存放。小数部分的小数点前面的数为0。如3.14159在内存中的存放可以用图表示

上图是用十进制数来示意的,实际上在计算机中是用二进制数来表示小数部分以及用2的幂次来表示指数部分的。在4个字节(32位)中,究竟用多少位来表示小数部分,多少位来表示指数部分,C标准并无具体规定,由各C语言编译系统自定。有的C语言编译系统以24位表示小数部分(包括符号),以8位表示指数部分(包括指数的符号)。由于用二进制形式表示一个实数以及存储单元的长度是有限的,因此不可能得到完全精确的值,只能存储成有限的精确度。小数部分占的位( bit )数愈多,数的有效数字愈多,精度也就愈高。指数部分占的位数愈多,则能表示的数值范围愈大。float型数据能得到6位有效数字。

double型(双精度浮点型)

为了扩大能表示的数值范围,用8个字节存储一个double型数据,可以得到15位有效数字,在C语言中进行浮点数的算术运算时,将float型数据都自动转换为double型,然后进行运算。

long double型(长双精度)型

不同的编译系统对long double型的处理方法不同,Turbo C对long double型分配16个字节。而Visual C++则对long double型和double型一样处理,分配8个字节。

http://www.lryc.cn/news/545275.html

相关文章:

  • 【大模型】Ollama本地部署DeepSeek大模型:打造专属AI助手
  • 2025.3.2机器学习笔记:PINN文献阅读
  • 数据集笔记:新加坡 地铁(MRT)和轻轨(LRT)票价
  • 如何修改安全帽/反光衣检测AI边缘计算智能分析网关V4的IP地址?
  • Java 大视界 -- 基于 Java 的大数据分布式缓存一致性维护策略解析(109)
  • SyntaxError: positional argument follows keyword argument
  • Ruby基础
  • JMeter 断言最佳实践
  • 【Android】类加载器热修复-随记(二)
  • 从零开始用react + tailwindcss + express + mongodb实现一个聊天程序(八) 聊天框用户列表
  • Linux网络 TCP全连接队列与tcpdump抓包
  • 水滴tabbar canvas实现思路
  • 鸿蒙通过用户首选项实现数据持久化
  • 在Ubuntu中,某个文件的右下角有一把锁的标志是什么意思?
  • 7.1.1 计算机网络的组成
  • 使用 Docker 部署 RabbitMQ 的详细指南
  • 岛屿的数量(BFS)
  • 线上JVM OOM问题,如何排查和解决?
  • Linux的缓存I/O和无缓存IO
  • 【弹性计算】弹性裸金属服务器和神龙虚拟化(三):弹性裸金属技术
  • 【MySQL】(2) 库的操作
  • Hyper-V -docker-vmware 三者的关系
  • IP-----双重发布
  • 【新立电子】探索AI眼镜背后的黑科技,FPC如何赋能实时翻译与语音识别,点击了解未来沟通的新方式!
  • LeetCode 热题 100_寻找两个正序数组的中位数(68_4_困难_C++)(二分查找)(先合并再挑选中位数;划分数组(二分查找))
  • Java多线程与高并发专题——深入ReentrantReadWriteLock
  • 【Python 语法】算法合集
  • [STM32]从零开始的STM32 BSRR、BRR、ODR寄存器讲解
  • C++ ++++++++++
  • C# 牵手DeepSeek:打造本地AI超能力