志在指尖
用双手敲打未来

c语言double是什么意思(c语言如何保留两位小数)

c语言double是什么意思

double是C言语的一个关键字,代表双精度浮点型,占8个字节内存空间。
双精度浮点型的数值规模为“1.7E-308~1.7E+308”,双精度彻底保证的有效数字是15位,16位仅仅部分数值有保证。
双精度浮点型,此数据类型与单精度数据类型(float)相似,但精确度比float高,编译时所占的内存空间依不同的编译器而有所不同,是doublefloat数据类型,C/C++中表示实型变量的一种变量类型。
定义
一般状况,单精度浮点数占4字节(32位)内存空间,其数值规模为-3.4E38~3.4E+38,;双精度型占8个字节(64位)内存空间,其数值规模为-1.79769313486232E308到1.79769313486232E308。
双精度浮点型类型数值可转换到其他类型的整数或浮点数,反之亦然。双精度浮点型常量的最终一个字符可加上“d”或“D”。其存储格式与浮点型类似,最高位为符号位,次高11位为指数位,其次52位为尾数。c语言
双精度型便是双精度浮点型,同数值型比,它能供给更高的数值精度,采用固定存储长度的浮点数方式,每个双精度浮点型数据占8个字节。与数值型数据不同,它的小数点方位是由输入的数据值来决定的,并且只能用于表中的字段。

c语言如何保留两位小数

经过运用输出格局操控符来进行标准,一般运用%2f(float),%2lf(double)。%f表明输出浮点型数据,这儿%2f中的2操控了保存的小数位数。%lf表明双精度浮点型数据,同样经过操控数字%2lf得到两位小数输出。下面举个例子来进行剖析。
intmain()
{floatx=345.678;
doublepi=3.1415926;
printf(“x=%.2f”,x)
Printf(“pi=%.2lf\n”,pi);
}
得到输出为x=345.68pi=3.14,这儿就经过%2f和%2lf分别将float数据x和double数据进行了两位小数的保存输出。c语言
这儿很多人就可能想问%f和%lf存在什么区别,这两种格局操控符的区别有以下四条,分别为:1.%f与%2f代表的数据类型不同,在c语言中,%f表明输入输出数据为单精度浮点型数据(float),而%lf则代表输入输出为双精度浮点型数据,即double类型数据。2.它们的有用位数不同,单精度浮点型数据float要求数据的有用数字确保6位,部分7位,而双精度浮点数据则要求有用数字确保15位,部分16位。3、它们可以表明的数值的规模存在差异。C语言中,单精度浮点数据的表明规模:-3.40E+38~+3.40E+38,而双精度浮点数据的表明规模:-1.79E+308~+1.79E+308。4.在执行程序时,对两类数据的处理速度不同。一般而言,CPU在处理单精度浮点数时的速度要高于处理双精度浮点数的速度。
在运用二者的时候,要特别注意以下几点:1.在输出部分运用%f和%lf时,float数据也可以用%lf格局操控输出格局,但是假如double类型数据运用了%f格局,则可能会报错。2.在输入部分运用时,double类型运用了%f格局,会导致输入值过错。float类型运用double类型不只会导致输入过错,还可能引起程序崩溃。

未经允许不得转载:IT技术网站 » c语言double是什么意思(c语言如何保留两位小数)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载