C++で文字のASCII値を取得・表示する方法を解説
ASCII(American Standard Code for Information Interchange:米国標準情報交換コード)には、0から127までの番号が振られた128種類の文字が定義されています。アルファベット、数字、記号など、さまざまな文字に固有の数値が対応付けられているのが特徴です。
主な文字とそのASCII値の例は以下のとおりです。
| 文字 | ASCII値 |
|---|---|
| A | 65 |
| a | 97 |
| Z | 90 |
| z | 122 |
| $ | 36 |
| & | 38 |
| ? | 63 |
大文字と小文字では異なる値が割り当てられている点にも注目してください。たとえば「A」は65、「a」は97となっており、両者の差は32です。この規則性を利用すると、大文字・小文字の相互変換も簡単に行えます。
それでは、実際に文字のASCII値を求めて表示するC++プログラムを見てみましょう。
サンプルコード
#include <iostream>
using namespace std;
void printASCII(char c) {
int i = c; // char型をint型に暗黙的に変換
cout << "The ASCII value of " << c << " is " << i << endl;
}
int main() {
printASCII('A');
printASCII('a');
printASCII('Z');
printASCII('z');
printASCII('$');
printASCII('&');
printASCII('?');
return 0;
}
実行結果
The ASCII value of A is 65 The ASCII value of a is 97 The ASCII value of Z is 90 The ASCII value of z is 122 The ASCII value of $ is 36 The ASCII value of & is 38 The ASCII value of ? is 63
プログラムの解説
上記のプログラムでは、printASCII()関数が受け取った文字のASCII値を出力します。処理のポイントは次のとおりです。
まず、関数内でint型の変数iを定義し、そこに引数として渡された文字cを代入します。iは整数型であるため、代入の際にchar型のcが自動的に整数へと変換され、対応するASCIIコードの値が格納されます。これは「暗黙的な型変換」によるもので、明示的にキャストしたい場合はstatic_cast<int>(c)と書くこともできます。
最後に、元の文字cと、そのASCII値が入ったiを出力することで、文字とASCII値の対応を確認できるという仕組みです。
該当するコード部分を抜き出すと、以下のようになります。
void printASCII(char c) {
int i = c;
cout << "The ASCII value of " << c << " is " << i << endl;
}
このように、C++ではchar型をint型に代入するだけで簡単にASCII値を取得できます。文字コードの理解は、文字列操作やデータ変換を行ううえで重要な基礎知識となるので、ぜひ覚えておきましょう。
-
C++で階乗を求めるプログラム|再帰・非再帰の2つの実装方法を解説
非負整数 n の階乗とは、n 以下のすべての正の整数を掛け合わせた積のことです。たとえば、5 の階乗は次のように計算されます。5! = 5 × 4 × 3 × 2 × 1 5! = 120整数の階乗は、再帰的なプログラムまたは非再帰的なプログラムのいずれかで求めることができます。ここでは、両方の実装例をサンプルコードとともに紹介します。 方法1:非再帰プログラム(forループ)で階乗を求める 最もシンプルな方法は、for ループを使って 1 から n まで順番に掛け合わせていく方法です。以下のプログラムでその実装を見てみましょう。 サンプルコード #include <iostream&g
-
C#でハッシュテーブル(Hashtable)から値を検索するプログラム
C#のHashtableコレクションに格納された要素の中から、特定の値を検索する方法を解説します。値の存在確認にはContainsValue()メソッドを使用します。 Hashtableへの要素の追加 まず、Hashtableオブジェクトを作成し、キーと値のペアを追加します。 Hashtable h = new Hashtable(); h.Add(1, Jack); h.Add(2, Henry); h.Add(3, Ben); h.Add(4, Chris); ContainsValue()メソッドによる値の検索 Hashtable内に指定した値が存在するかどうかを調べるには、Contai