C/C++ では、 は何unsigned char
に使用されますか? 通常の とどう違うのですかchar
?
ベストアンサー1
C++ には、3 つの異なる文字型があります。
char
signed char
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