单精度与双精度的区别
2个回答
展开全部
单精度数据类型是float,双精度数据类型是double其实最通俗的讲的话,后者所能表示小数的范围比前者大双精度类型的变量能表示15位有效数字,单精度类型变量只能表示7位有效数字双精度类型变量占用8个字宽内存,单精度类型变量占用4个字宽内存。
知识延展:
单精度数,是指计算机表达实数近似值的一种方式。VB中,Single(单精度浮点型)变量存储为
IEEE
32
位(4
个字节)浮点数值的形式,它的范围在负数的时候是从
-3.402823E38
到
-1.401298E-45,而在正数的时候是从
1.401298E-45
到
3.402823E38
。
双精度浮点型,此数据类型与单精度数据类型(float)相似,但精确度比float高,编译时所占的内存空间依不同的编译器而有所不同,是double
float数据类型,C/C++中表示实型变量的一种变量类型。
知识延展:
单精度数,是指计算机表达实数近似值的一种方式。VB中,Single(单精度浮点型)变量存储为
IEEE
32
位(4
个字节)浮点数值的形式,它的范围在负数的时候是从
-3.402823E38
到
-1.401298E-45,而在正数的时候是从
1.401298E-45
到
3.402823E38
。
双精度浮点型,此数据类型与单精度数据类型(float)相似,但精确度比float高,编译时所占的内存空间依不同的编译器而有所不同,是double
float数据类型,C/C++中表示实型变量的一种变量类型。
展开全部
单精度
占四个字节存储空间
能表示的有效数位为7位
双精度
占八个字节存储空间
能表示的有效数位为16位
最好定义符点数时,都采用double类型。
因为小数在计算机中存储的多数为近似值,虽然符点数的表示方法(IEEE754标准)可以使得四字节或八字节表示很大的数据,但是,由于有的小数不能完全转换成纯粹相等的二进制数,所以,计算机只能保存最接近的其值的二进制小数。如:
0.9
d=
0.1110011001100....
B
按二进制再反算回来可能就是0.89999....了
演算方法:
0.9*2=1.8
0.8*2=1.6
0.6*2=1.2
0.2*2=0.4
0.4*2=0.8
....
占四个字节存储空间
能表示的有效数位为7位
双精度
占八个字节存储空间
能表示的有效数位为16位
最好定义符点数时,都采用double类型。
因为小数在计算机中存储的多数为近似值,虽然符点数的表示方法(IEEE754标准)可以使得四字节或八字节表示很大的数据,但是,由于有的小数不能完全转换成纯粹相等的二进制数,所以,计算机只能保存最接近的其值的二进制小数。如:
0.9
d=
0.1110011001100....
B
按二进制再反算回来可能就是0.89999....了
演算方法:
0.9*2=1.8
0.8*2=1.6
0.6*2=1.2
0.2*2=0.4
0.4*2=0.8
....
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询