Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .net中的CRC32十六进制_C#_Vb.net_Crc32 - Fatal编程技术网

C# .net中的CRC32十六进制

C# .net中的CRC32十六进制,c#,vb.net,crc32,C#,Vb.net,Crc32,我试图找到一种CRC32计算算法,它以8个字符的正十六进制输出数据(例如winrar CRC) 找到的所有算法都返回一个我不知道如何处理的正/负整数…我打赌找到的所有CRC32算法都返回一个32位整数(例如int或uint)。当您查看它时,您可能将其视为基数为10的数字。通过查看,我的意思是将整数格式化为字符串,而不将任何格式选项传递给或 如果将VisualStudio置于十六进制视图中,您将获得“预期”输出。在这种情况下,算法都是正确的,但是,您的期望是不正确的 相反,请使用生成所需字符串表示

我试图找到一种CRC32计算算法,它以8个字符的正十六进制输出数据(例如winrar CRC)


找到的所有算法都返回一个我不知道如何处理的正/负整数…

我打赌找到的所有CRC32算法都返回一个32位整数(例如
int
uint
)。当您查看它时,您可能将其视为基数为10的数字。通过查看,我的意思是将整数格式化为字符串,而不将任何格式选项传递给或

如果将VisualStudio置于十六进制视图中,您将获得“预期”输出。在这种情况下,算法都是正确的,但是,您的期望是不正确的

相反,请使用生成所需字符串表示形式的:

uint crc32 = Crc32Class.GetMeAValue(data);

// For example, we'll write base-10 and base-16 the output to the console
Console.WriteLine("dec: {0}", crc32);
Console.WriteLine("hex: {0:X8}", crc32);

我敢打赌,您找到的所有CRC32算法都返回32位整数(例如
int
uint
)。当您查看它时,您可能将其视为基数为10的数字。通过查看,我的意思是将整数格式化为字符串,而不将任何格式选项传递给或

如果将VisualStudio置于十六进制视图中,您将获得“预期”输出。在这种情况下,算法都是正确的,但是,您的期望是不正确的

相反,请使用生成所需字符串表示形式的:

uint crc32 = Crc32Class.GetMeAValue(data);

// For example, we'll write base-10 and base-16 the output to the console
Console.WriteLine("dec: {0}", crc32);
Console.WriteLine("hex: {0:X8}", crc32);

指向的链接的可能重复项已将其签出,但它返回未签名的int32。我可以使用.ToString(“x16”)将其转换为十六进制吗?可能与已签出的链接重复,但它返回未签名的int32。我可以用.ToString(“x16”)将其转换为十六进制吗?请让我理解:为什么是X8而不是x16?@Teejay:一个基数为16的“数字”(hexit?)有4位,一个32位整数有32位,所以:
(32/4)==8
。再次感谢您。所以,假设是Int16,我必须使用“x4”?理解一个指定基的参数不是更容易吗?类似于tostring(16)No。如果我有一个Int32作为soruce值,tostring(16)将自动执行一个tostring(“x8”),tostring(2)将自动执行一个tostring(“x32”)。同样,如果我的源代码是Int16,那么toString(16)将执行toString(“x4”)等。请让我理解:为什么是X8而不是X16?@Teejay:一个基数为16的“数字”(hexit?)有4位,32位整数有32位,所以:
(32/4)==8
。再次感谢。所以,假设是Int16,我必须使用“x4”?理解一个指定基的参数不是更容易吗?类似于tostring(16)No。如果我有一个Int32作为soruce值,tostring(16)将自动执行一个tostring(“x8”),tostring(2)将自动执行一个tostring(“x32”)。同样,如果我的源代码是Int16,那么toString(16)将执行一个toString(“x4”)等等。。。