猪八戒36变是谁教的:pascal里,有没有10000位的字符串?

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/04 15:42:39
pascal里,有没有比string长,比ansistring短一点的字符串?最好10000位。
因为我做10000位*10000位的高精所以要长一点的可ansistring太满了用了17秒啊!!

没有
AnsiString也只是FP的专用类型。
其实使用AnsiString也没关系,它是链表式的,每256位一段,所以浪费不了多少空间,不过AnsiString的速度是奇慢的。
如果要做高精度运算,显然开个字符数组更划算。
var a:array[1..10000]of char;
当然做高精度运算,用longint来做,就是4位一做更快。

没有
如果字串长的话
还是用ansistring
要不然挺慢
尽管ansistring很慢
但方便不少!

用数组加扩大数进制结合做
简单许多
速度也很快

还是用数组吧. Ansistring是链表, 肯定要慢的. 数组是静态的, 空间开销大, 但速度一定是最快的.

我觉得,最好开longint这样类型的数组,每个元素里存多位数字。空间浪费少,效率也高。

用longint压位每位存4个或者开int64每位存9个..
10000位*10000位的保证2秒之内出解.写得再丑也3秒可以.