1

16 進数を UInt に変換したい。問題は次のとおりです。

私がこれを試すとき:

uint value = Convert.ToUInt32((hex), 16);

たとえば、16 進数は 12 バイト サイズで、すべて正常に動作しますが、32 バイト サイズの 16 進数を変換しようとすると、次のエラーが発生します。

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

Sowi エラーは正しいです: https://msdn.microsoft.com/pl-pl/library/system.uint64.maxvalue(v=vs.110).aspx 0xFFFFFFFFFFFFFFFF は Uint64 の最大値です。入力しようとしました: 0x1234567891123456789223456789 は、はるかに大きな値です。

于 2015-01-23T15:29:06.483 に答える