小数位数无故变长 用vb编程序,两个数和结果用的都是single型,可是计算2.6-2时却得到0.5999999这个结果,到底是为什么呢?我试过的2.6和2.9和一些数相减时得到类似结果,相加时得到类似结果,别的还都正确,请各位大侠和编程高手多多指教 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://topic.csdn.net/u/20080822/19/cf62c7ba-87d8-4c40-b7a1-a9f72e17de8e.html上述敛接有相同问题的讨论.那是芯片浮点运算的问题,与VB本身似乎无关. 至于单精度浮点数在内存的储存形式 Single(单精度浮点型)变量存储为 IEEE 32 位(4 个字节)浮点数值的形式,它的范围在负数的时候是从 -3.402823E38 到 -1.401298E-45,而在正数的时候是从 1.401298E-45 到 3.402823E38。Single 的类型声明字符为感叹号 (!)。 在内存以32位二进制形式存在: XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX 第1位为符号位 第2-9位为阶码位 第10-32位为2进制小数尾值 即F2 ^ n * 1. XXXXXXX XXXXXXXX XXXXXXXX 其中 F为正号或负号(首为为0正数,首位为1负数 n为2-9位组成的BYTE数据值 XXXXXXX XXXXXXXX XXXXXXXX为尾数 详细请参阅本人的BLOG文章: http://blog.csdn.net/zdingyun/archive/2008/06/09/2528026.aspx commondialog.ShowColor的位置问题~??在线等 100分求删除文件夹问题,问题解决立马结贴 如何把数据表的主索引用代码去除。 有谁知道winfax.dll文件在vb中如何所用吗? 倾家紧急求助各位高手!!!在线等 怎样把用VB生成的Access的MDB文件,进行加密? 不能编译。 播放mp3的问题!高分求救!! 100 如何将图片存入数据库? 在VB6+Access+ADO中如何将一个表的某字段赋给另一个表的某字段 200分关于和谐的问题 outlook2003 最小化运行的问题
上述敛接有相同问题的讨论.
那是芯片浮点运算的问题,与VB本身似乎无关.
至于单精度浮点数在内存的储存形式
Single(单精度浮点型)变量存储为 IEEE 32 位(4 个字节)浮点数值的形式,它的范围在负数的时候是从 -3.402823E38 到 -1.401298E-45,而在正数的时候是从 1.401298E-45 到 3.402823E38。Single 的类型声明字符为感叹号 (!)。
在内存以32位二进制形式存在:
XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX
第1位为符号位
第2-9位为阶码位
第10-32位为2进制小数尾值
即F2 ^ n * 1. XXXXXXX XXXXXXXX XXXXXXXX
其中
F为正号或负号(首为为0正数,首位为1负数
n为2-9位组成的BYTE数据值
XXXXXXX XXXXXXXX XXXXXXXX为尾数
详细请参阅本人的BLOG文章:
http://blog.csdn.net/zdingyun/archive/2008/06/09/2528026.aspx