相关疑难解决方法(0)

C#中的大整数

目前我正在借用java.math.BigInteger这里描述的J#库.从来没有使用过库来处理大整数,这看起来很慢,大约慢了10倍,即使对于ulong长度数也是如此.有没有人有更好的(最好是免费的)库,或者这种性能水平是否正常?

c# j# largenumber biginteger

64
推荐指数
3
解决办法
6万
查看次数

字节数组的Base-N编码

几天前,我遇到了这个用于Base-36编码字节数组的CodeReview.但是,接下来的答案没有触及解码回字节数组,或者可能重复使用答案来执行不同基数(基数)的编码.

链接问题的答案使用BigInteger.因此,就实现而言,可以对基数及其数字进行参数化.

但是,BigInteger的问题在于我们将输入视为假定的整数.但是,我们的输入(字节数组)只是一系列不透明的值.

  • 如果字节数组以一系列零字节结束,例如{0xFF,0x7F,0x00,0x00},则在答案中使用算法时这些字节将丢失(仅编码{0xFF,0x7F}.
  • 如果最后一个非零字节的符号位置位,那么前一个零字节将被消耗,因为它被视为BigInt的符号分隔符.所以{0xFF,0xFF,0x00,0x00}只能编码为{0xFF,0xFF,0x00}.

.NET程序员如何使用BigInteger创建一个合理有效且基数不可知的编码器,具有解码支持,以及处理字节序的能力,以及"解决"结束零字节丢失的能力?

c# algorithm encoding bit-manipulation radix

4
推荐指数
1
解决办法
4238
查看次数