整数値が与えられた場合、その値を格納するために必要な最小バイト数を調べる方法が必要です。値は、最大 64 ビットの符号付きまたは符号なしの場合があります。符号付き整数の符号ビットも考慮してください。
例えば:
8 requires 1 byte at minimum
unsigned 255 requires 1 byte at minimum
signed 255 requires 2 bytes at minimum
4351 requires 2 bytes at minimum
-4294967296 requires 5 bytes at minimum
unsigned 0xFFFFFFFFFFFFFFFF requires 8 bytes at minimum
多くの if ステートメントを使用して、これを解決する手っ取り早い方法を考えることができますが、これを行うためのより良い (たとえば、より単純で、より賢く、より高速な) 方法があるかもしれません。int (long value, bool signed)
署名付きのメソッド、またはint (long value)
(署名付き) と(署名なし) の 2 つのメソッドのいずれかを想定できますint (ulong value)
。