我想将十六进制转换为UInt。问题如下:
当我尝试这个时:
uint value = Convert.ToUInt32((hex), 16);
并且十六进制例如是12字节大小,一切正常,但是当我尝试转换32字节大小的十六进制时,我有这样的错误:
value too large or too small for int32
然后我试试这个:
ulong = Convert.ToUInt64((hex), 16);
我收到此错误。
value too large or too small for int64
有人知道我做错了吗?
答案 0 :(得分:0)
Sowi错误是正确的: https://msdn.microsoft.com/pl-pl/library/system.uint64.maxvalue(v=vs.110).aspx 0xFFFFFFFFFFFFFFFF是最大Uint64值。 你试图输入: 0x1234567891123456789223456789什么是更大的价值。
答案 1 :(得分:0)
最后我像这样剪切十六进制数:
十六进制= 1234567891123456789223456789
ulong result= Convert.ToUInt64(12345678911234, 16);
result += Convert.ToUInt64(56789223456789, 16);
解决了我的问题。谢谢你的回复,让我想到了!!!