标题:VB如何定义一个范围到达100亿的数,我用double定义,10多亿就溢出了
只看楼主
huangjunxing
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2014-8-13
结帖率:50%
 问题点数:0 回复次数:2 
VB如何定义一个范围到达100亿的数,我用double定义,10多亿就溢出了
Open "d:\2.bin" For Binary As #1
Put #1, k, Bits2
k = k + 300000
Close #1
Bits2是一个30万bit的数组
往2.bin里面写数据,每次写30万bit,k是写数据的位置,当K的值10多亿的时候,就出现标记错误,这是文件也有2G大了
搜索更多相关主题的帖子: VB 定义 范围 double 溢出 
2017-10-28 08:54
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:0 
VB6 不支持 long long (__int64)数据类型,
需要写超过 long 范围的文件,请使用 最新版的 C++ ,老版本的 C 也不支持 long long 数据类型。

支持的数据类型,与编译器有关。
------------------
不知使用API能否创建和访问超过 long 范围的文件。
要去查API说明,如果传入的参数 能使用 long long 类型的数据,那就可以了。
VB可以使用 8个元素的BYTE数组,保存long long 数据,虽然不知道啥内容。

======================
unsigned   int   0~4294967295                   VB6 不支持
int   -2147483648~2147483647                    VB6:long
unsigned long 0~4294967295                      不支持
long   -2147483648~2147483647                   long
long long的最大值:9223372036854775807           不支持
long long的最小值:-9223372036854775808           
unsigned long long的最大值:1844674407370955161  不支持
__int64的最大值:9223372036854775807             不支持
__int64的最小值:-9223372036854775808
unsigned __int64的最大值:18446744073709551615   不支持




[此贴子已经被作者于2017-10-28 20:03编辑过]


授人于鱼,不如授人于渔
早已停用QQ了
2017-10-28 09:30
csl591
Rank: 4
等 级:贵宾
威 望:10
帖 子:78
专家分:92
注 册:2009-2-5
得分:0 
可以用代码间接实现。比如将所有参与运算的数都缩小10000倍,然后计算。
2017-11-07 17:05



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-481855-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.098525 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved