33 C语言中的小数(float,double)
来源:互联网 发布:伺服电机控制器编程 编辑:程序博客网 时间:2024/06/03 22:09
C学习网:链接->C学习网
C训练网:链接->C训练网
小数也称实数或浮点数。例如,0.0、75.0、4.023、0.27、-937.198 都是合法的小数。这是常见的小数的表现形式,称为十进制形式。
除了十进制形式,也可以采用指数形式,例如 7.25×102、0.0368×105、100.22×10-2 等。任何小数都可以用指数形式来表示。
C语言中的小数也有这两种表示形式。在书写时,十进制形式和数学中的一样,指数形式有所差异。
在C语言中小数的指数形式为:
aEn 或 aen
a 为尾数部分,是一个十进制数,n 为指数部分,是一个十进制整数,E或e是固定的字符,其值为 a×10n。例如:- 2.1E5 = 2.1×105,其中2.1是尾数,5是指数。
- 3.7E-2 = 3.7×10-2,其中3.7是尾数,-2 是指数。
- 0.5E7 = 0.5×107,其中0.5是尾数,7是指数。
C语言中小数的数据类型为 float 或 double:float 称为单精度浮点数,double 称为双精度浮点数。不像整数,小数的长度始终是固定的,float 占用4个字节,double 占用8个字节。
小数的输出
输出 float 使用 %f 控制符,输出 double 使用 %lf 控制符,如下所示:
- #include <stdio.h>
- #include <stdlib.h>
- int main()
- {
- float a = 0.302f;
- float b = 1.23002398;
- double c = 123;
- double d = 78.429;
- float e = 128.101;
- printf("a=%f \nb=%f \nc=%f \nd=%lf \ne=%lf\n", a, b, c, d, e);
- return 0;
- }
a=0.302000
b=1.230024
c=123.000000
d=78.429000
e=128.100998
对代码的说明:
1) %f 默认保留六位小数,不足六位以 0 补齐,超过六位按四舍五入截断。
2) 将整数赋值给 float 变量时会转换为小数。
a、b、c、d 的输出结果很容易理解,令人费解的是 e,才三位小数,为什么会输出一个近似值呢?这点我们将在《C语言float、double的内存表示》一节详细讲解。
阅读全文
1 0
- 33 C语言中的小数(float,double)
- C语言中float,double类型,在内存中的结构
- C语言中 float double在内存中的存储
- C语言中 float double在内存中的存储
- C语言中 float double在内存中的存储
- C语言中 float double在内存中的存储
- C语言中 float double在内存中的存储
- C语言中 float double在内存中的存储
- C语言笔记--float和double在内存中的结构
- C语言中float,double在内存中的结构
- C语言中 float double在内存中的存储
- 09.java语言基础-小数类型(float-double)
- C语言double保留N位小数
- C语言 float double解释和举例
- C语言基本数据类型int float double
- C语言当中int,float,double,char
- C语言中float,double等类型,在内存中的结构
- C语言中float,double等类型,在内存中的结构
- 多线程2!
- ObjC Runtime 中 Weak 属性的实现 (上)
- 最详细的maven教程全攻略之maven基础片(一)
- 如何用springcloud找妹纸之4--- 一群行走的"妹纸"(服务提供者集群)
- selenium借助AutoIt识别上传
- 33 C语言中的小数(float,double)
- c++循环创建有规则的名字(例如person0-person100)的空文件夹
- UWP简介:什么是UWP?
- 《Spring实战》学习笔记-第一章:Spring之旅
- 最详细的maven教程全攻略之maven中级篇(二)
- 34 小数在内存中是如何存储的
- 选择器
- Problem B: 一帮学生
- c++调用运行.exe应用程序