C语言中均支持两种浮点数,float和double。其中double的精度,和表示范围比float要大。另外,部分编译器支持更大精度的long double,但不是所有的编译器都支持。
以上为三种浮点数的类型。在定义的时候,需要以TYPE var=init_value,的方式定义,功能为定义一个名字为var,类型为TYPE的变量,并赋值初始值为init_value。其中=init_value部分可以省略。
比如定义一个float类型的浮点变量为float f,定义一个类型为double的浮点型变量,并初始化值为1234,写作double d = 1234。
扩展资料:
C语言是一种计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。
C 语言是一种十分强大的语言,可以进行多种方式进行程序的设计,它是一种很有特色的高级语言通过若干个函数组成,它具备构成程序设计的 3 种基本结构顺序,选择和循环结构。
C语言编辑简洁明了,运算符丰富且功能强大还有编译预处理功能。此语言的移植性好不同的处理器用不同的编译器编译指令达到移植的效果。
C语言有一个突出的优点就是适合于多种 *** 作系统,如DOS、UNIX、windows 98.windows NT;也适用于多种机型。C语言具有强大的绘图能力,可移植性好。
并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画,它也是数值计算的高级语言。
参考资料来源:百度百科-C语言程序设计
len -- 通常,程序员喜欢用它作 变量名。它是 length(英文词 长度 的缩写)。例如:
char str[20]="I am a student";
int len;
len = strlen(str);
printf("the string length is: %d",len);
再譬如:
#define len(x1,y1,x2,y2) sqrt((x1-x2)(x1-x2)+(y1-y2)(y1-y2))定义了一个宏,用来计算2个点(x1,y1)和(y1,y2)间的直线距离。
在C语言源码中,只能在浮点数后面加f来表示单精度浮点数。譬如如下代码:
float f = 11f;或者
float f = 11F;
大小写都可以的。
16进制的浮点数编码,它不像整数编码那样直观,因为浮点数编码,在计算机中是以IEEE754格式进行编码编码的,每一个二进制位都有不同的意思,拿单精度浮点数来说,它的符号位占1位,指数位占8位,有效数字位占23位,而且,如果使用十六进制来传送,你还要确定计算机的内存,存储顺序。 相对很复杂的。
要了解更多浮点数编码的问题,可以自己找一下IEEE754编码格式详细的介绍。也许会帮到你!
这要看你使用的数据的大小及精度,每一种数据所表示数的范围和精度是不同的。
你学的C语言书上应该有讲到吧!
比如整型数int,所表示的范围是用16位二进制数表示,表示的范围是-65536/2---+65536/2
单精度浮点数在机内占4个字节,用32位二进制描述。
双精度浮点数在机内占8个字节,用64位二进制描述。
对编程人员来说,double
和
float
的区别是double精度高,有效数字16位,float精度7位。但double消耗内存是float的两倍,double的运算速度比float慢得多,C语言中数学函数名称double
和
float不同,不要写错,能用单精度时不要用双精度(以省内存,加快运算速度)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)