转换大数,从Base 256转换为Base 10

时间:2013-09-06 12:54:00

标签: c# delphi numbers base

我需要在C#或Delphi中将非常大的数字从Base 256(字节)转换为Base 10(十进制)。 实际目标是将任何给定文件的内容表示为非常大的十进制数,并将其保存在txt文件中。我们都知道如何从一个基地转换到另一个基地,但这里真正的挑战是数字的大小。 任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:11)

我强烈怀疑如果您使用的是.NET 4或更高版本,您将能够使用BigInteger(byte[])构造函数 - 然后根据需要将结果转换为十进制字符串(或仅使用它作为数字)。您可能需要根据输入的字节顺序反转输入数组中的字节。

答案 1 :(得分:1)

截至您的更新时,这非常简单。

听起来你正试图用chars来读取二进制文件,使用一些getc()函数(确切的名称让我逃避)。每个字符由一个字节表示,因此256个选项。这使得字符具有8位整数的一定程度的渗透性。你应该能够读入一个字符并将其转换为一个整数,这将给出字符8位的十进制表示。

chars也不是256,它们只是8位二进制数。