请教大家,我想做winsock的速度测试,用Long型变量存放收到的数据的字节数,可是总会溢出,有没有别的什么办法解决溢出?
ps:测速就是用timer控件间隔一段时间显示速度吧,间隔一般设置成多少(比如flashget是怎么样的?)?

解决方案 »

  1.   

    long不行用double,double不行用Decimal,Decimal不行,自己定义一个
      

  2.   

    用Long型会溢出?
    2G都不够?
      

  3.   

    用Currency就可以了,Currency是64位定点数,相当于64位整数除以10000
      

  4.   

    其实Long型基本够用了,我估计楼猪什么地方使用了Integer,建议Debug
    看看问题
      

  5.   

    Currency范围从 -922,337,203,685,477.5808 到 922,337,203,685,477.5807,绝对够用了
      

  6.   

    我是每隔2秒,把这2秒内的字节数除以2,来计算速度的,本地测试的时候会溢出。用的是winsock和timer
      

  7.   

    viena(维也纳nn-实心木头人)
    用Long型会溢出?
    2G都不够?
    --------------------------------
    如果能用long的话,当然更好了,实在不行,再用上面大家的方法吧
      

  8.   

    Long型在字节达到2G后会溢出,简单算一下,100M局域网全速不间断通讯,要连续4个小时。
    若没达到这个强度就溢出,楼主就要找找问题了。若真有这种需求,也简单呀,用两个Long就行了,为简单与便于表示,低位Long达到1G,就Mod 1G,高位Long加1,这样可表示2GGB字节。若还不够就再加个Long:)
    有生之年,把全世界的信息都给你也够了!
      

  9.   

    Double绝对够用了~除非你的程序有问题