C语言中,浮点类型和整数类型的区别具体在哪些方面?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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、函数类型
参考资料来源:百度百科—数据类型
参考技术A整数与浮点数两者的存储方式不一样,整数是直接以二进制形式进行存储,对于浮点数,需要将小数部分和指数部分分开存储。两者之间的区别还有如下:
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位有效数字,超过最低标准。
参考资料来源:百度百科--数据类型
参考技术B浮点类型和整数类型的区别主要在取值范围和精度上面。如下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,会丢弃小数部分。推荐你去教程网站秒秒学上夯实下这方面的基础知识。
本回答被提问者采纳 参考技术C 浮点和整数在相同字长的情况下,浮点表示数的范围大的多,但以损失精度为代价浮点可以表示小数,整数不行
一些基本的数学库函数很多参数需要浮点比如sin cos tan exp等 参考技术D 其实没必要纠结那么详细其实用不到 其实最简单的理解 区别就在于 一个是整数类型 另一个其实就是小数类型 这么一说你就能理解了吧 其实学C并不难 关键你得找个适合自己的老师或者自学视频 我当初报班都没学会 后来自己没事网上自学视频学会的 我当初看的是夏老师的 感觉讲的很简明清晰 一听就懂的那种 而且讲的都是重点 而且还有个与其他不同的地方就是 很多难理解的概念用的比喻举例 例如最近看的数组就比喻成有顺序的装东西的盒子 我一下子就理解数组变量和赋值了 比之前看的什么郝斌曾怡的那些繁琐的像是读课本的好多了
C语言当中int,float,double,char这四个有什么区别?
区别在以下方面:
一、定义方面:
1、int为整数型,用于定义整数类型的数据 。
2、float为单精度浮点型,能准确到小数点后六位 。
3、double为双精度浮点型,能准确到小数点都十二位 。
4、char为字符型,用于定义字符类型的数据。
二、内存占据:
1、int 的内存大小是4 个byte。
2、float 内存大小是4 个byte。
3、double 的内存大小是8 个byte。
4、char 的内存大小是1 个byte。
基本数据类型表如下:
三、表示的数据范围:
1、int:数的范围为-(2的31次方-1)到(2的31次方-1),数字为-2 147 483 647~2 147 483 647。
2、double:表示的范围为+1.111111111111111111111*2^1023(1.后面52个1)为1.7*10^308。负数亦然。
3、float:整数极限为3.4*10^38,负数亦然。
4、char:-128- 127。
以上是关于C语言中,浮点类型和整数类型的区别具体在哪些方面?的主要内容,如果未能解决你的问题,请参考以下文章