j******d 发帖数: 70 | 1 我不是计算机专业的,问题可能有点幼稚。
在我的程序里,一个整形变量可能有 2^50 那么大,一个数组的size可能有 2^50 那么大
我试了试,把整形变量分成 2^25 个 unsigned long 变量,似乎没问题。
但是数组 array[2^50]就算写成 array[2^25][2^25]也报错。
怎么解决呢?
谢谢。 |
f*****p 发帖数: 235 | 2 怎么个分法?
【在 j******d 的大作中提到】 : 我不是计算机专业的,问题可能有点幼稚。 : 在我的程序里,一个整形变量可能有 2^50 那么大,一个数组的size可能有 2^50 那么大 : 我试了试,把整形变量分成 2^25 个 unsigned long 变量,似乎没问题。 : 但是数组 array[2^50]就算写成 array[2^25][2^25]也报错。 : 怎么解决呢? : 谢谢。
|
w***f 发帖数: 75 | 3 要么改你的算法, 要么如果你的矩阵是稀疏的, 用 Sparse Matrix 的相关
函数库, 否则无解。2^50 有多大你算算先。
【在 j******d 的大作中提到】 : 我不是计算机专业的,问题可能有点幼稚。 : 在我的程序里,一个整形变量可能有 2^50 那么大,一个数组的size可能有 2^50 那么大 : 我试了试,把整形变量分成 2^25 个 unsigned long 变量,似乎没问题。 : 但是数组 array[2^50]就算写成 array[2^25][2^25]也报错。 : 怎么解决呢? : 谢谢。
|
n******t 发帖数: 4406 | 4 你前一个问题是,类型精度溢出的问题,用任意精度数学库可以解决。
后一个问题是寻址超出的问题,改变数据结构可以解决.(比如所链表)
【在 j******d 的大作中提到】 : 我不是计算机专业的,问题可能有点幼稚。 : 在我的程序里,一个整形变量可能有 2^50 那么大,一个数组的size可能有 2^50 那么大 : 我试了试,把整形变量分成 2^25 个 unsigned long 变量,似乎没问题。 : 但是数组 array[2^50]就算写成 array[2^25][2^25]也报错。 : 怎么解决呢? : 谢谢。
|
w***f 发帖数: 75 | 5 第一个问题不是问题, 在 VC 里用 __int64 就可以, 至于第二个
拜托请先算算 2^50有多大再提解决方案。
【在 n******t 的大作中提到】 : 你前一个问题是,类型精度溢出的问题,用任意精度数学库可以解决。 : 后一个问题是寻址超出的问题,改变数据结构可以解决.(比如所链表)
|
n******t 发帖数: 4406 | 6 很多2^50的数运算,int64不一定够。
2^50多大没什么意义,他又没说要干什么,也没说里面放了什么。
真是皇帝不急太监急。
【在 w***f 的大作中提到】 : 第一个问题不是问题, 在 VC 里用 __int64 就可以, 至于第二个 : 拜托请先算算 2^50有多大再提解决方案。
|
b******p 发帖数: 23 | 7
and long long in gcc
【在 w***f 的大作中提到】 : 第一个问题不是问题, 在 VC 里用 __int64 就可以, 至于第二个 : 拜托请先算算 2^50有多大再提解决方案。
|
t**g 发帖数: 49 | 8 2^32 = 4GB
2^18 * 4GB 其实在空间复杂度上已经达到intractable的级别了
【在 n******t 的大作中提到】 : 很多2^50的数运算,int64不一定够。 : 2^50多大没什么意义,他又没说要干什么,也没说里面放了什么。 : 真是皇帝不急太监急。
|