我想在无线传输文件(Wi-Fi)时以小块(以Mb或Kb为单位)替换大数据(以Gb为单位),我想提高大文件的传输速度。
我试图用格雷代码替换数据,但是由于缺乏知识,我无法编写适当的c#代码。
using System;
class GFG {
static int binary_to_gray(int n, int i)
{
int a, b;
int result = 0;
if (n != 0)
{
a = n % 10;
n = n / 10;
b = n % 10;
if ((a & ~ b) == 1 || (~ a & b) == 1)
{
result = (int) (result + Math.Pow(10,i));
}
return binary_to_gray(n, ++i) + result;
}
return 0;
}
public static void Main()
{
int binary_number;
binary_number = 1011101;
Console.WriteLine(binary_to_gray(binary_number,0));
}
}
我在学校没有计算机科学专业,所以我尝试自己学习编程,这是我的爱好,我正在通过适用于Android的Wi-Fi开发文件共享应用。 我希望压缩数据,但是它保持不变或增加。
答案 0 :(得分:1)
Gray code不是压缩算法。这是一种减少位数变化的算法。因此,它不会减小文件传输的大小。
在我看来,您似乎想要像LZ或LZW这样的lossless compression algorithm(从ZIP等压缩程序中知道)。