C语言中int和float有啥区别啊
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中int和float有啥区别啊相关的知识,希望对你有一定的参考价值。
一、指代不同
1、int:是一种数据类型,在编程语言(C、C++、C#、Java等)中,是用于定义整数类型变量的标识符。
2、float:于存储单精度浮点数或双精度浮点数。
二、数据范围不同
1、int:int占用4字节,32比特,数据范围为-2147483648~2147483647[-2^31~2^31-1]。
2、float:loat 类型提供了一个在 -3.4E+38 ~ 3.4E+38 之间的范围。
三、特点不同
1、int:除了int类型之外,还有short、long、long long类型可以表示整数。
2、float:可以提升为更大基数的类型(从 float 类型到 double 类型)。对浮点变量执行算术时,通常会出现提升。此算术始终以与具有最高精度的变量一样高的精度执行。
参考资料来源:百度百科-INT
参考资料来源:百度百科-FLOAT
参考技术A主要有如下三个区别:
1、表示的数据范围不同。C语言中的int变量通常的表示范围为-2147483648~2147483647,也就是-2^31到2^31之间。而-3.4E+38 ~ 3.4E+38则是float类型表示的数据范围。float表示的数据范围要大于int表示的数据范围。
2、变量赋值方法不同。C语言中,将i设定为一个int变量并赋值的方法为:int i=xx;,其中xx为一个整数,例如3、4、5,不可以是小数。将i设定为一个float变量的方法为:float i=yy;,其中yy为一个浮点型数,可以带上小数点,例如3.0、4.5、5.7等等。
3、字节构成不同。int和float类型在计算机中都占4个字节,但是float类型的4个字节构成为包括一个符号位、一个8位二进制指数和一个23位尾数,而int类型的4个字节构成全部为整数。
参考资料来源:百度百科 - INT
参考资料来源:百度百科 - FLOAT
参考技术B int是整型。float是单精度浮点型。int只能表示整数,在windows32和64中占4个字节。
folat也就是有小数部分的,如:3.234。小数有效位是7个。也占4个字节。本回答被提问者和网友采纳 参考技术C
int和float首先明白其本质是数据类型,何为数据类型,其实其名字就告诉我们,像我们学习时喜欢把整数和小数分开一样,这里的int是整数类型,float是浮点数(小数类型)。这不就是俩种数据类型
那么为什么要区分那,主要原因是计算机在存储数据时分配的内存空间是不同的,你定义了int(整型)它就分配对应整型的大小,比如4个内存单元。
那么我为什么要说比如是4个内存单元那,原因是不同的cpu分配内存是不一样的,32位cpu分配的int就是4个字节,至于为什么如此,这是硬件设计时决定的(32位/8=4字节)(不理解跳过)
综上所述,你应该明白你定义的每一个变量都会分配一块内存,并且分配内存的大小是取决于你的数据类型的。
浮点类型说明浮float,double有啥区别啊
我看到有的程序里是 float a,b 有的是double a,b
这两个有什么区别吗 我有时候不知道是用float还是用double啊
浮点类型说明浮float,double区别:在内存中占有的字节数不同、有效数字位数不同、数值取值范围、在程中处理速度不同
1、在内存中占有的字节数不同:
单精度浮点数在机内存占4个字节,双精度浮点数在机内存占8个字节。
2、有效数字位数不同:
单精度浮点数有效数字8位,双精度浮点数有效数字16位。
3、数值取值范围:
单精度浮点数的表示范围: -3.40E+38~3.40E+38,双精度浮点数的表示范围: -1.79E+ 308~-1.79E+308。
4、在程中处理速度不同:
一般来说, CPU处理单精度浮点数的速度比处理双精度浮点数快,如果不声明,默认小数为double类型,所以如果要用float的话,必须进行强转。
参考资料来源:
百度百科-FLOAT (数据类型)
百度百科-浮点型数据
float : 单精度浮点数 double : 双精度浮点数
两者的主要区别如下:
1.在内存中占有的字节数不同
单精度浮点数在机内存占4个字节
双精度浮点数在机内存占8个字节
2.有效数字位数不同
单精度浮点数有效数字8位
双精度浮点数有效数字16位
3.数值取值范围
单精度浮点数的表示范围:-3.40E+38~3.40E+38
双精度浮点数的表示范围:-1.79E+308~-1.79E+308
4.在程序中处理速度不同
一般来说,CPU处理单精度浮点数的速度比处理双精度浮点数快,如果不声明,默认小数为double类型,所以如果要用float的话,必须进行强转
例如:float a=1.3; 会编译报错,正确的写法 float a = (float)1.3;或者float a = 1.3f;(f或F都可以不区分大小写)。
扩展资料:
浮点型数据类型,FLOAT 数据类型用于存储单精度浮点数或双精度浮点数。浮点数使用 IEEE(电气和电子工程师协会)格式。浮点类型的单精度值具有 4 个字节,包括一个符号位、一个 8 位 excess-127 二进制指数和一个 23 位尾数。尾数表示一个介于 1.0 和 2.0 之间的数。由于尾数的高顺序位始终为 1,因此它不是以数字形式存储的。此表示形式为 float 类型提供了一个大约在 -3.4E+38 和 3.4E+38 之间的范围。
double(双精度浮点型)是计算机使用的一种资料型别。比起单精度浮点数(float),double(双精度浮点数)使用 64 位(8字节) 来储存一个浮点数。 它可以表示十进制的15或16位有效数字,负值取值范围为 -1.7976E+308 到 -4.94065645841246544E-324,正值取值范围为 4.94065645841246544E-324 到 1.797693E+308
参考资料:float百度百科 double百度百科
参考技术B单精度浮点数(float)与双精度浮点数(double)的区别如下:
(1)在内存中占有的字节数不同
单精度浮点数在机内占4个字节
双精度浮点数在机内占8个字节
(2)有效数字位数不同
单精度浮点数有效数字8位
双精度浮点数有效数字16位
(3)所能表示数的范围不同
单精度浮点的表示范围:-3.40E+38 ~ +3.40E+38
双精度浮点的表示范围:-1.79E+308 ~ +1.79E+308
(4)在程序中处理速度不同
一般来说,CPU处理单精度浮点数的速度比处理双精度浮点数快
不过它们的宽度不一样,或者说精度不一样,float是单精度,double是双精度
它们表示小数的范围不一样,double能表示的范围,比float大
double在内存中,占8个字节,float占4个字节
float和double的关系就像short跟long的关系一样本回答被提问者采纳 参考技术D 肯定有区别啦,float是单精度浮点型,而double是双精度浮点型,一般情况下,float是占4个字节,double占8个字节。
一般要是你计算的数据不是很大的话用float就足够了。
以上是关于C语言中int和float有啥区别啊的主要内容,如果未能解决你的问题,请参考以下文章
请问matlab中的fread(fid,19,'int');和c语言中的fread(fid,sizeof(int),19,ch)有啥区别啊