unsigned char とは何ですか? 質問する

unsigned char とは何ですか? 質問する

C/C++ では、 は何unsigned charに使用されますか? 通常の とどう違うのですかchar?

ベストアンサー1

C++ には、3 つの異なる文字型があります。

  1. char
  2. signed char
  3. unsigned char

1.char

テキストに文字型を使用する場合は、修飾子のない を使用しますchar

  • 'a'これはや のような文字リテラルの型です'0'(C++のみ、Cでは の型は ですint)。
  • これはCの文字列を構成する型であり、"abcde"

これは数値としても機能しますが、その値が符号付きとして扱われるか、符号なしとして扱われるかは指定されていません。不等式による文字の比較には注意してください。ただし、ASCII (0-127) に限定すればほぼ安全です。

2. signed char/ 3.unsigned char

文字タイプを数値として使用する場合は、次を使用します。

  • signed char少なくとも-127 から 127 の範囲になります。(-128 から 127 が一般的です)
  • unsigned charこれにより、少なくとも0 から 255 の範囲が提供されます。これは、たとえば 16 進数値としてオクテットを表示する場合に便利です。

「少なくとも」というのは、C++ 標準では各数値型がカバーする必要がある値の最小範囲しか指定されていないためです。 はsizeof (char)1 (つまり 1 バイト) である必要がありますが、理論上は 1 バイトは 32 ビットなどになります。 はsizeof依然としてサイズを - として報告します1。つまり、 とすることができますsizeof (char) == sizeof (long) == 1

おすすめ記事