c语言中double和float的精度并不是按小数点后面多少位来算的
而是按有效数字来算
比如如果是精度为2个有效数字
0.21就是精确的
但是11.1小数点后面的都是不精确的
以下是单双精度的精确位
float 6-7
double 15-16
C语言浮点型小数点后为多少位
单精度浮点型小数点后面有效数字为7位和双精度浮点型小数点后面有效数字为16位。
单精度在一些处理器上比双精度更快而且只占用双精度一半的空间,但是当值很大或很小的时候,它将变得不精确。当需要小数部分并且对精度的要求不高时,单精度浮点型的变量是有用的。
例如,当表示美元和分时,单精度浮点型是有用的。在foxpro中,单精度浮点型是为了提供兼容性,浮点数据类型在功能上等价于数值型。
扩展资料:
浮点数是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学计数法。
浮点数参与的运算,这种运算通常伴随着因为无法精确表示而进行的近似或舍入。补码系统的0就只有一个表示方式,这点和反码系统不同(在反码系统中,0有二种表示方式),因此在判断数字是否为0时,只要比较一次即可。
单精度、双精度各有几位小数?
单精度有6位小数,双精度有15位小数。
单精度数(float型)在32位计算机中存储占用4字节,也就是32位,有效位数为7位,小数点后6位。
双精度数(double型)在32位计算机中存储占用8字节,也就是64位,有效位数为16位,小数点后15位。
扩展资料:
单精度浮点数格式是一种计算机数据格式,在计算机存储器中占用4个位元(32 bits),利用“浮点”(浮动小数点)的方法,可以表示一个范围很大的数值。
C、C++中使用到的双精度浮点数(double)类型是在IEEE二进制浮点数算术标准(ANSI/IEEE Std 754-1985)中定义的。双精度浮点数(Double)用来表示带有小数部分的实数,一般用于计算机变成中定义变量,占用8个字节存储空间。
参考资料来源:百度百科-单精度浮点数
参考资料来源:百度百科-精度浮点数
在C语言中单精度浮点和双精度浮点小数点后有几位小
小数点后是几位与单精度或双精度无关,输出浮点数时%.xf中的x确定输出多少位小数,如%.12f就把对应的浮点变量值输出12位小数。但是,由于浮点数的长度都是有限的,float的精度是7位左右(包括整数部分),double的精度为16位左右(同样包括整数部分),当x值大到超出对应变量类型的最大表达能力时,后续数字实际上是系统填上的垃圾数,没有实际意义。
单精度和双精度是什么意思?是小数点后多少位吗
是C语言中的数据储存类型,是类型的名字。计算机中的数据是二进制,当数字有效数字位数过多的时候储存范围之外的输就会被四舍五入,表现出来的就是单精度有七位有效数字,双精度有十五位有效数字。
单精度简介:
单精度数,是指计算机表达实数近似值的一种方式。VB中,Single(单精度浮点型)变量存储为IEEE32位(4个字节)浮点数值的形式,它的范围在负数的时候是从-3.402823E38到-1.401298E-45,而在正数的时候是从1.401298E-45到3.402823E38。如果涉及浮点数,值可能不往返。值的往返是指,某个运算将原始浮点数转换为另一种格式,而反向运算又将转换后的格式转换回浮点数,且最终浮点数与原始浮点数相等。由于一个或多个最低有效位可能在转换中丢失或更改,往返可能会失败。
双精度简介:
双精度浮点数(double)是计算机使用的一种数据类型,使用64位(8字节)来存储一个浮点数。它可以表示十进制的15或16位有效数字,其可以表示的数字的绝对值范围大约是:4.9×10~1.7×10。IEEE754为其定制标准。
看完以上内容,相信你对单精度和双精度小数点后几位有了一定的了解,如果你还想了解更多这方面的信息,记得收藏关注本站哦。