single和double
来源:互联网 发布:php程序员简历范文 编辑:程序博客网 时间:2024/06/06 01:50
我最近在看VB书,感觉定义single和double的差异还是很明显的
x,y为single时 计算小数时 比如1.1+1.1=2.20000002384186
为什么后面会。。。 但定义为double时就对了
原因?
解答:
因为single和double占用的内存长度不同,single是4字节,double是8字节,所以single能表示最大精度是小数点后约六位,double能表示的精度是小数点后14位,
1.1+1.1=2.20000002384186
因为这个式子里都是single,那么结果中小数点后六位之前是准确的,六位以后就是不准确的。
因为输出的是按double处理的,所以,显示为精确到小数点后14为,所以,才出现误差,而你如果使用double计算,因为还在有效精度范围内,所以不会有误差。
如果你输出的是按single处理的,那么也不会有误差。
下面的代码你可运行一下,就能理解了:
Dim a As Single, b As Single, c As Double, d As Single
a = 1.1
b = 1.1
c = a + b
d = a + b
Debug.Print c, d
输出结果: 2.20000004768372 2.2
如果存在类型转换,那么可能就有误差,如果没有精度转换,那么就不会有误差
阅读全文
1 0
- single和double
- 【matlab】double和single类型
- matlab的double和single类型
- matlab中double 和single数据类型的差别
- [VB.NET] Single & Double
- Single,Double,Extended区别
- single(单精度型)和double(双精度型)
- 13.25用二进制表示的结果及single和double的国际标准
- double 和 long double
- C# Decimal Double Single等区别
- Double和double的区别
- double和Double的区别
- Escape both single quote and double quote in Smarty
- VBA: 小数存储精度问题single vs. double
- Use UIGestureRecognizer to handle single tap and double tap
- Single Number 和 Single Number II
- c/c++: float和double、long double
- c/c++: float和double、long double
- 批处理文件
- VB百例(二)
- jdk动态代理,统计某个方法的执行时间
- VB中spc(n)函数、space(n)函数和tab(n)函数区别
- 浏览器内核、渲染引擎、js引擎
- single和double
- 在VB中如何把开始和暂停放在同一个按钮里
- 半年总结
- 区块链的四类应用场景
- 陈伟视频总结
- 系统关系
- 红皮书第0章
- 红皮书实例1
- 红皮书实例2、3