RSS 2.0 Feed
2004-12 Entries
摘要:昨天在VB中碰到两个问题,其实以前就碰到并解决过: (1) dim ss as double ss = 194268.02 – 194268 肉眼可以判断结果为0.02,而VB中计算的结果:ss = 0.199999999895226E-02 ss = 1.2 - 1 VB计算的结果为:0.2 (2) dim ss as double ss = 400*1000 在VB6中,报越界!! ss = 400*100000没有异常 分析原因:1:内部二进制与10进制的转换导致Double运算精度问题  2:Int16* Int16VB6以为应该返回Int16,但结果>32767导致越界错误,因此ss=2+32766也会导致溢出,经证实确实如此 这算不算BUG呢?我认为是. .NET中是否还存在类似问题呢? 经测试在.NET中问题2表面看来已经不存在,但是:  double ss; int firstInt = 2147483646; int secondInt = 2; ss = firstInt + secondInt; Console.WriteLine(ss); 结果:ss = -2147483648 CLR用int32作为缓冲区,但如果我们的运算结果超出该缓冲区的大小,一样会越界!! .NET中问题(1)依然如故 这两个问题通过类型转换可以轻松解决,我疑惑的是:从OOP的观点看待该问题,是程序员应该掌握规避方法,还是改变其内部处理机制?你如何看呢?  ...[阅读全文]

posted @ | Feedback (25) |

摘要:一篇搞笑的推论:Why Microsoft can Blow-Off with C#? 看来Anders该留胡子了。...[阅读全文]

posted @ | Feedback (8) | Filed Under [ 非技术类 ]

摘要:先写个标题,到家补全 还有:将Remoting事件处理的那篇文章整理一下,供出版...[阅读全文]

posted @ | Feedback (7) |