C言語におけるunsigned型の役割
C言語でunsignedは符号なし整数型を宣言する際に使われるデータ型修飾子です。これは、その型の変数が0以上(0と正の整数)の整数しか保持できないことを意味します。対照的に、符号付き整数型は負の整数、0、正の整数を持たせることができます。
符号なし整数をint型変数に使うと、無符号整数型では全てのビットが数値そのものの表現に使われるので、表現範囲が広がり、より大きな正の整数を表すことができます。例えば、32ビットシステムでは、signed intは-2147483648から2147483647までの整数、unsigned intは0から4294967295までの整数を表すことができます。
さらに、unsigned はとある計算で発生するオーバーフローを回避するためにも使用できます。たとえば、2 つの符号なし整数を足した結果が符号なし整数型の表現範囲を超える場合、結果はモジュラスの値になります。これによりオーバーフロー エラーを回避することができ、特定の利用シーンで役立ちます。
UNSIGNEDは符号なし整数型を宣言するもので、値が正の整数に限定され、表現範囲が拡大されます。