C语言中double表示啥?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中double表示啥?相关的知识,希望对你有一定的参考价值。
#include<stdio.h>
int main()
double a,b;
scanf("%lf%lf",&a,&b);
a+=b;
printf("%.4f\\n",a);
return 0;
C语言,是一种通用的、过程式的编程语言,广泛用于系统与应用软件的开发。具有高效、灵活、功能丰富、表达力强和较高的移植性等特点,在程序员中备受青睐。最近25年是使用最为广泛的编程语言。
C语言是由UNIX的研制者丹尼斯·里奇(Dennis Ritchie)于1970年 由 肯·汤普逊(Ken Thompson)所研制出的B语言的基础上发展和完善起来的。目前,C语言编译器普遍存在于各种不同的操作系统中,例如UNIX、MS-DOS、Microsoft Windows及Linux等。C语言的设计影响了许多后来的编程语言,例如C++、Objective-C、Java、C#等。
参考技术A 在C语言中,double是一种数据类型,用于表示双精度浮点数。双精度浮点数是一种带有小数点的数字,它能够表示更大范围的数字和更高的精度。具体来说,double类型使用64位的存储空间来存储一个浮点数,其中52位用于表示小数部分的位数,11位用于表示指数部分的位数,还有一位用于表示符号位。在C语言中,使用double类型可以更加准确地表示一些需要高精度计算的数值,例如科学计算、工程计算和金融计算等。同时,C语言提供了许多操作double类型的函数和运算符,例如加减乘除、取模、取整等等,这些函数和运算符可以帮助我们进行各种数学计算。
关于C语言中double型输出的问题
参考技术A%f格式化命令,float,double 默认只输出6位小数。
但是float,double可以表示的浮点数范围及精度是不同的。
例如1653
float a = 1.123456;
float b = 1.12345679;
例如:
ble占8字节 对应的格式为%lf
float占4字节 对应的格式为%f
当两个格式用反时,会造成程序读取数据并赋值时1653,赋值给变量时字节信息错位,导致数据错误。
float 存储数据格式为:1位的符号位+8位的指数位+23位尾数
double存储数据格式为:1位的符号位+11位的指数位+52位尾数
因此,错位存储的数据,解释输出来就差别非常大了。
扩展资料:
Data Output Stream类用于将Java语言中的基本类型数据写入输出流,如byte、int、float和boolean等类型。该类定义了许多以write开头,后面跟数据类型的方法,这些方法用于将指定数据类型的数据写入输出流,如下所示。
(1)writeBoolean():写boolean类型数据。
(2)writeByte():写byte类型数据。
(3)writeCliat():写char类型数据。
(4)writeDouble():写double类型数据。
(5)writeFloat():写float类型数据。
(6)writeInt():写int类型数据。
参考资料来源:百度百科-数据输出流
以上是关于C语言中double表示啥?的主要内容,如果未能解决你的问题,请参考以下文章