float和double的区别举例(double是保留几位小数)

admin 382 0

今天给各位分享float和double的区别举例的知识,其中也会对double是保留几位小数进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

一、怎么区分double和float

中存放数据时占用的内存不一样,前者8

,后者4字节,也就是前者保存的小数

比后者多一倍。举例说明对于1.9999996666,按照float输出,结果可能为1.999999,如果按照double可能为1.999999,这是为什么,因为C语言默认输出小数位数都取6位,这时候看起来没有区别,但是如果你进行格式控制,比如使用%.10,即小数保留10位,float输出结果为1.9999990000,而double输出结果则为1.9999996666。

二、float和double类型的区别

double和 float的区别是double精度高,有效数字16位,float精度7位。但double消耗内存是float的两倍,double的运算速度比float慢得多,C语言中数学函数名称double和 float不同,不要写错,能用单精度时不要用双精度(以省内存,加快运算速度)。

float 32 6-7-3.4*10(-38)~3.4*10(38)

double 64 15-16-1.7*10(-308)~1.7*10(308)

long double 128 18-19-1.2*10(-4932)~1.2*10(4932)

简单来说,Float为单精度,内存中占4个字节,有效数位是7位(因为有正负,所以不是8位),在我的电脑且VC++6.0平台中默认显示是6位有效数字;double为双精度,占8个字节,有效数位是16位,但在我的电脑且VC++6.0平台中默认显示同样是6位有效数字。

三、C语言中float 和 double有什么区别 用法

C语言中,float和double都属于浮点数。区别在于:double所表示的范围,整数部分范围大于float,小数部分,精度也高于float。

举个例子:圆周率3.1415926535这个数字,如果用float来表示,最多只能精确到小数点后面的6位。而double大约能精确到小数点后面的15位左右。具体精确到几位,跟所用的编译器有关,但是各个编辑器编译器之间,也是相差不大的。

至于整数部分,float表示的整数部分的范围,就已经够大了,能表示到万亿级别,已经大到没边了。而double所表示的整数范围,大到更没边了。实际开发中,除了个别高精领域,基本上,使用float就足够了。

C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。

目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。

C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等。

四、double精度和float精度的区别是什么

单精度型和双精度型的区别在于它们的精确程度不一样,也就是小数部分的有效位数不一样。

单精度数(float型)在32位计算机中存储占用4字节,也就是32位,有效位数为7位,小数点后6位;双精度数(double型)在32位计算机中存储占用8字节,也就是64位,有效位数为16位,小数点后15位。

比如3.1415926535897932384这个小数,如果定义成float型,那么只会留下小数点后5位,也就是3.141592,如果定义成double型,那么只会留下小数点后15位,也就是3.141592653589793。

计算机的数都是以二进制进行存储。无论是单精度浮点数还是双精度浮点数,在计算机上的存储都遵循IEEE 754规范,使用二进制科学计数法。

二进制科学计数法包含三个部分:符号位,指数位和尾数部分。单精度数的符号位,指数位和尾数部分分别为1,8,23,而双精度为1,11,52。

而单双精度中的精度就主要取决于尾数部分的位数。float的尾数尾数为23位,除去全部为0的情况以外,最小为2的-23次方,因此float小数部分只能精确到后面6位。类似的,double尾数位数为52,最小为2的-52次方,因此只能精确到小数点后15位。

参考资料来源:百度百科-单精度浮点数

参考资料来源:百度百科-双精度浮点数

五、c++中,float double区别

float为单精度,内存中占4个字节,有效数位是7位。

double为双精度,占8个字节,有效数位是16位。

float指数长度为8位,尾数长度23位。

double指数长度为11位,尾数长度52位。

float的取值范围为3.4E-38~3.4E+38。

double的取值范围为1.7E-308~1.7E+308。

float的IEEE为1,遵从的是IEEE R32.24。

double的IEEE为1,但遵从的是IEEE R64.53。

实型变量分为两类:单精度型和双精度型,

其类型说明符为float单精度说明符,double双精度说明符。在Turbo C中单精度型占4个字节(32位)内存空间,其数值范围为3.4E-38~3.4E+38,只能提供七位有效数字。双精度型占8个字节(64位)内存空间,其数值范围为1.7E-308~1.7E+308,可提供16位有效数字。

实型变量说明的格式和书写规则与整型相同。

例如: float x,y;(x,y为单精度实型量)

double a,b,c;(a,b,c为双精度实型量)

实型常数不分单、双精度,都按双精度double型处理。

参考资料来源:百度百科—double

参考资料来源:百度百科—浮点型数据

六、float和double的区别是什么

1、精度不一样,float是单精度,double是双精度;

2、表示小数的范围不一样,double能表示的范围比float大;

3、double在内存中,占8个字节,float在内存中,占4个字节。

float:浮点型数据类型,FLOAT数据类型用于存储单精度浮点数或双精度浮点数。浮点数使用IEEE(电气和电子工程师协会)格式。浮点类型的单精度值具有 4个字节,包括一个符号位、一个 8位二进制指数和一个 23位尾数。由于尾数的高顺序位始终为 1,因此它不是以数字形式存储的。此表示形式为 float类型提供了一个大约在-3.4E+38~ 3.4E+38之间的范围。

double:双精度浮点型,此数据类型与单精度数据类型(float)相似,但精确度比float高,编译时所占的内存空间依不同的编译器而有所不同,是double float数据类型,C/C++中表示实型变量的一种变量类型。

编译系统为每一个float型变量分配4个字节,数值以规范化的二进制数指数形式存放在存储单元中。

为了扩大能表示的数值范围,用8个字节存储一个double型数据,可以得到15位有效数字。

不同的编译系统对long double型的处理方法不同,Visual C++6.0对long double型和double一样处理,分配8个字节。

七、float 和 double 的区别是什么

float和double的区别在于:变量类型不同、指数范围不同、表达式指数位不同、占用内存空间不同以及有效位数不同。其中float数据类型用于存储单精度浮点数或双精度浮点数,而double即双精度浮点型使用64位来储存一个浮点数。

扩展资料

一、float和double的含义介绍

float即单精度浮点型,用于存储单精度浮点数或双精度浮点数。浮点数使用 IEEE格式。浮点类型的单精度值具有 4个字节,包括一个符号位、一个8位二进制指数和一个23位尾数。由于尾数的.高顺序位始终为1,因此它不是以数字形式存储的。此表示形式为 float类型提供了一个大约在-3.4E+38~ 3.4E+38之间的范围。

而double即双精度浮点型,它是计算机使用的一种资料型别,比起float,double使用 64位来储存一个浮点数。它可以表示十进制的15或16位有效数字,负值取值范围为-1.7976E+308到-4.94065645841246544E-324,正值取值范围为 4.94065645841246544E-324到 1.797693E+308。

二、float和double的区别1、变量类型不同

float属于单精度型浮点数据,double属于双精度型浮点数据。

float的指数范围为-127~128,double的指数范围为-1023~1024。

float的表达式为1bit(符号位)+8bits(指数位)+23bits(尾数位);double的表达式为1bit(符号位)+ 11bits(指数位)+ 52bits(尾数位)。

float占4个字节(32位)内存空间,其数值范围为3.4E-38~3.4E+38;double占8个字节(64位)内存空间,其数值范围为1.7E-308~1.7E+308。

float只能提供七位有效数字,double可提供16位有效数字。

OK,关于float和double的区别举例和double是保留几位小数的内容到此结束了,希望对大家有所帮助。