ホームページ >バックエンド開発 >C++ >C で `cout` を使用して文字の整数値を出力するにはどうすればよいですか?

C で `cout` を使用して文字の整数値を出力するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-06 15:45:15868ブラウズ

How Can I Print a Character's Integer Value in C   Using `cout`?

cout を使用した C での文字の整数としての出力

関数 cout を使用して文字を整数として出力しようとすると、予期しない結果が発生する可能性があります。これは、cout が通常、文字を 8 ビット整数ではなく文字として扱うためです。ただし、C の文字型は確かに整数型です。

この問題を解決し、文字が整数として出力されるようにするには、単項プラス演算子 ( ) を使用するのが効果的な解決策です。この演算子は、文字を、元の型に関係なく、数値として出力できるプリミティブ データ型 (int など) に昇格します。

char a = 0xab;
cout << +a; // Output: 171

単項プラス演算子を適用すると、文字 a がキャストされます。 intに。このキャストにより、文字の数値が保持され、整数として出力できるようになります。

このアプローチは、文字型 (char、signed char、または unsigned char) は、標準のセマンティクスを備えた単項プラス演算子を提供します。さらに、現在のオブジェクトの値を (値または const への参照によって) 返す単項プラス演算子を使用して数値を表すクラスを定義すると、文字を数値として出力できます。

以上がC で `cout` を使用して文字の整数値を出力するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。