C语言双精度的格式符是%le还是%lf

Python015

C语言双精度的格式符是%le还是%lf,第1张

都可以,只是输出形式有所不同,%lf是以普通的浮点数的方式输出,而%le是以科学计数法的形式输出。

例如:

int main()

{

  double n

  scanf("%lf",&n)

  printf("浮点数的方式%lf\n 科学计数法的方式%le",n,n)

  return 0

}

输入:123.4556666

浮点数的方式123.455667   科学计数法的方式1.234557e+002

扩展资料:

精度浮点数(float)与双精度浮点数(double)的区别如下:

1,在内存中占有的字节数不同

单精度浮点数在机内占4个字节

双精度浮点数在机内占8个字节

2,有效数字位数不同

单精度浮点数有效数字7位

双精度浮点数有效数字16位

3,所能表示数的范围不同

单精度浮点的表示范围:-3.40E+38 ~ +3.40E+38

双精度浮点的表示范围:-1.79E+308 ~ +1.79E+308

4,在程序中处理速度不同

一般来说,CPU处理单精度浮点数的速度比处理双精度浮点数快。

参考资料来源:百度百科-双精度浮点数

单精度型和双精度型的区别在于它们的精确程度不一样,也就是小数部分的有效位数不一样。

单精度数(float型)在32位计算机中存储占用4字节,也就是32位,有效位数为7位,小数点后6位;双精度数(double型)在32位计算机中存储占用8字节,也就是64位,有效位数为16位,小数点后15位。

比如3.1415926535897932384这个小数,如果定义成float型,那么只会留下小数点后5位,也就是3.141592,如果定义成double型,那么只会留下小数点后15位,也就是3.141592653589793。

扩展资料

计算机的数都是以二进制进行存储。无论是单精度浮点数还是双精度浮点数,在计算机上的存储都遵循IEEE 754规范,使用二进制科学计数法。

二进制科学计数法包含三个部分:符号位,指数位和尾数部分。单精度数的符号位,指数位和尾数部分分别为1,8,23,而双精度为1,11,52。

而单双精度中的精度就主要取决于尾数部分的位数。float的尾数尾数为23位,除去全部为0的情况以外,最小为2的-23次方,因此float小数部分只能精确到后面6位。类似的,double尾数位数为52,最小为2的-52次方,因此只能精确到小数点后15位。

参考资料来源:百度百科-单精度浮点数

参考资料来源:百度百科-双精度浮点数

1、双精度浮点型数据用%lf输出。因为double是8个字节的,float是4个字节的,%f 的格式就是4个字节的,而 %lf 就是8个字节的。  例如:printf("%lf\n",x)

2、short 占用内存空间2个字节,短整型数据用%d输出  例如:printf("%d\n",a)

例如:

#include <stdio.h>

int main()

{

double x

short int a;

printf("%lf",x)     // 输入double型

printf("%d",a)    //输入短整型

return 0

}

扩展资料

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

c语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。

双精度浮点数(double)是计算机使用的一种数据类型,使用 64 位(8字节) 来存储一个浮点数。 它可以表示十进制的15或16位有效数字,其数值范围为-1.7E308~+1.7E308。

短整型的二进制位长是16位。短整型所能表示的整数的值域为-32768~32767。