C语言中,浮点类型和整数类型的区别具体在哪些方面?
1、包含类型方面的区别:
整数类型包含byte型、int型、short型、long型, 浮点类型包含float(单精度)型、double常量
2、取值范围的区别:我们可以看到整数类型最大的取值是:1,844,674,407,370,955,161,共有19位数。而浮点数中float的取值范围就有39位数3.4E+38。
3、精度的区别:整数类型是一个准确的数值,而浮点数很多时候是一个看似值。比如float类型就只用确保前面6~7位是准确的。如:float f = 123456789; //8和9这两个数值就可能是不准确的。
扩展资料:
C语言其他数据类型:
一、基本类型
1、整形类型:int ,short int,long int,long long int(C99),char,bool
2、浮点类型:float ,double,双精度浮点型(float_complex,double_complex,long long_comples)
二、枚举类型 enum
三、空类型 void
四、派生类型
指针类型 *、数组类型 、结构体类型 struct、共用体类型 union、函数类型
参考资料来源:百度百科—数据类型
整数与浮点数两者的存储方式不一样,整数是直接以二进制形式进行存储,对于浮点数,需要将小数部分和指数部分分开存储。两者之间的区别还有如下:
1、整数没有小数部分,浮点数有小数部分;
2、浮点数可以表示的范围比整数大;
3、对于一些算术运算(两个很大的数相减),浮点数损失的精度更多;
4、在任何区间内都存在着无数个实数,所以计算机的浮点数不能表示区间内的所有值,通常只是实际值的近似值;
5、过去,浮点运算比整数运算慢,不过,有了浮点处理器,速度上的差距有了一定的缩小。
扩展资料:
浮点数介绍:
float、double、long double
C 标准规定,float 类型必须至少能表示6位有效数字,且取值范围至少是10^(-37) ~ 10^(+37)。通常,系统存储一个 float 类型的数据需要占用32位,其中8位用于表示指数的值和符号,剩下24位用于表示非指数部分(也叫做尾数或有效数)及其符号。
double 类型和 float 类型的最小值范围相同,但至少能必须表示10位有效数字。一般情况下,double 类型的数据占用64位而不是32位,一些系统将多出的32位全部用来表示非指数部分,这种做法不仅增加了有效数字的位数(提高精度),还减少了舍入误差。
还有一些系统会把其中的一些位分配给指数部分,以容纳更大的指数,增加可表示数的范围。无论如何,实际情况中 double 类型的数据至少有13位有效数字,超过最低标准。
参考资料来源:百度百科--数据类型
浮点类型和整数类型的区别主要在取值范围和精度上面。如下2张表格:
表格1-整数类型:
表格2-浮点类型:
(注:以上的表格来自秒秒学中C语言的《数据类型》课程)
取值范围的区别:我们可以看到整数类型最大的取值是:1,844,674,407,370,955,161,共有19位数。而浮点数中float的取值范围就有39位数3.4E+38。
精度的区别:整数类型是一个准确的数值,而浮点数很多时候是一个看似值。比如float类型就只用确保前面6~7位是准确的。如:
float f = 123456789; //8和9这两个数值就可能是不准确的。
细心的人会发现,浮点类型是没有无符号类型的,即没有unsigned float之类的类型。
另外还需要注意的是整数在进行算术运算时不会保留小数,如
int i = 7/4; //i的值是1,会丢弃小数部分。推荐你去教程网站秒秒学上夯实下这方面的基础知识。
浮点可以表示小数,整数不行
一些基本的数学库函数很多参数需要浮点比如sin cos tan exp等