1

我想将十六进制转换为 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

有人知道我做错了什么吗?

4

2 回答 2

0

最后我把十六进制数剪成这样:

十六进制 = 1234567891123456789223456789

ulong result= Convert.ToUInt64(12345678911234, 16);
result += Convert.ToUInt64(56789223456789, 16);

这解决了我的问题。谢谢回复,让我思考!!!

于 2015-01-23T15:42:59.367 回答
0

Sowi 错误是正确的: https ://msdn.microsoft.com/pl-pl/library/system.uint64.maxvalue(v= vs.110).aspx 0xFFFFFFFFFFFFFFFF 是最大 Uint64 值。您尝试输入:0x1234567891123456789223456789 什么是更大的值。

于 2015-01-23T15:29:06.483 回答