2 ^ 64离我的ram /硬盘可以处理的"无限"还有一段距离......
首先我想知道GMP如何与内存/处理器一起工作,因为它做了一些阴暗的优化......
我还想知道是否有一种方法可以在任意数量的字节上存储一个整数(无符号,更容易).例如,在50个字节上,我的上限为2 ^ 400 -1.要做的是使用携带以保持数字从一个字节到另一个字节保持一致,我对此有一些了解,但我真的不确定它是最快的方法.我甚至不确定我是否正确.
我猜GMP使用这种方式来存储它的数据,但我只想要一些(甚至很少)解释或某些理论转发(我没有任何博士学位,所以不要太难).
我需要在Haskell中读取二进制格式.格式非常简单:四个八位字节表示数据的长度,后跟数据.四个八位字节表示网络字节顺序中的整数.
如何将ByteString四个字节转换为整数?我想要一个直接演员(在C中,那将是*(int*)&data),而不是字典转换.另外,我将如何处理字节序?序列化整数是网络字节顺序,但机器可能使用不同的字节顺序.
我试过谷歌搜索,但只有yold结果有关词典转换.