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语言中,浮点类型和整数类型的区别具体在哪些方面?的主要内容,如果未能解决你的问题,请参考以下文章

C语言中各种数据类型有啥区别?

C语言当中int,float,double,char这四个有什么区别?

c语言简单数据类型包括

C语言中的整形变量是啥?

c语言中定义浮点变量输入用的整数会报错吗

C51的数据类型和C语言的数据类型的区别?