gpt4 book ai didi

c# - 对于无符号字节,值太大或太小

转载 作者:行者123 更新时间:2023-11-30 21:37:16 27 4
gpt4 key购买 nike

出现以下错误:

System.OverflowException has been thrown - Value was either too large or too small for an unsigned byte.

有没有人知道如何修复它?

class MainClass
{
public static void Main(string[] args)
{
int decValue = 2210;
string bin = Convert.ToString(decValue, 2);
string lowerbyte = bin.Substring(Math.Max(0, bin.Length - 16));

if (lowerbyte.Length < 16)
{
lowerbyte = lowerbyte.PadLeft(16, '0');
}


Int16 circular = Convert.ToByte(CicrularLeftShift(lowerbyte, 3), 2);

string xored = Convert.ToString((circular ^ 38556), 2).Substring(Math.Max(0, Convert.ToString((circular ^ 38556), 2).Length - 16));

//converting final binary shift value to HEX
string finalHex = Convert.ToString(Convert.ToInt32(xored, 2), 16).ToUpper();

Console.WriteLine(finalHex);

}

private static string CicrularLeftShift(string key, int shift)
{
return key.Substring(shift, key.Length - shift) + key.Substring(0, shift);
}
}

最佳答案

您正在尝试 Convert.ToByte。

一个字节是 8 位。您在字符串中提供了一个 16 位数字。

将您的引用更改为 16,如果您想要单个字节,则更改为 8。或者,如果您确实需要 Int16,则使用 Convert.ToInt16。

https://msdn.microsoft.com/en-us/library/4wxkt09k(v=vs.110).aspx

关于c# - 对于无符号字节,值太大或太小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47389705/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com