Project_OKI’s diary

エンジニアの勉強ブログ

C言語基礎知識23(文字を2進数、10進数で表示)

文字と2進数、10進数の関係とキーコードについて

この記事では、コンピュータにおける文字の表現方法について。説明する

コンピュータには、文字を表すために2進数や10進数を用いることがある。

 

1. 目的

 ・文字が2進数、10進数で使用できることを理解する。

 

目次

 

2. 文字を2進数で表現する

 ・コンピュータにおいて、文字は通常、2進数で表現される。

 ・例えば、アルファベットの「A」は、2進数で01000001と表現される。

 ・1桁の2進数は0か1のどちらかであり、8桁の2進数で1文字を表現する

 ・文字を2進数で表現することで、コンピュータは文字を扱うことができる。

 

3. 文字を10進数で表現する

 ・文字を10進数で表現することもできる。

 ・例えば、「A」の10進数表現は65

 ・このように、それぞれの文字に対応する数値がある。

 

 ※文字を2進数、10進数で表したように、文字を数値として扱うことが出来る。

  このため、C言語などで、文字を出力する際に、

  ・数値で指定

  ・文字の比較。

  ・文字の足し引き。

  などが出来る。

 

4. 2進数、10進数、文字の対応表

 文字と数値の対応は下記記事を参考

 ・キーコード一覧表

 (キーコード表で検索)

 

5. プログラムで確認

動作:

 ・関数1で10進数とその対応する文字を表示

 ・関数2で10進数と2進数とその対応する文字を表示

 

#include <stdio.h>

/**
 * キーコードで割り振られている全ての文字の数値を10進数で表示する関数
 */
void printDecimalValues() {
    printf("Decimal values:\n");
    // 0から255までのキーコードに対応する文字の10進数値を表示するループ
    for (int i = 0; i < 256; i++) {
        printf("%d: %c\n", i, i);
    }
}

/**
 * キーコードで割り振られている全ての文字の数値を2進数で表示する関数
 */
void printBinaryValues() {
    printf("Binary values:\n");
    // 0から255までのキーコードに対応する文字の2進数値を表示するループ
    for (int i = 0; i < 256; i++) {
        printf("%d: ", i);
        // 2進数表記の各桁を表示するループ
        for (int j = 7; j >= 0; j--) {
// ビット演算を使用して、iのj桁目の値を取得する
            printf("%d", ((i >> j) & 1)); } printf(" (%c)\n", i); // 対応する文字も表示する } } /** * メイン関数 */ int main() { printDecimalValues(); printf("\n"); printBinaryValues(); return 0; }

結果:https://paiza.io/projects/8Vd31VMqYkknCC7J7hQFZQ

 

・2進数の表示などについては下記記事を参照

 →ソフトウェア基礎知識(2進数から10進数) - Project_OKI’s diary

・>>などの演算子については下記記事を参照

 →C言語基礎知識21(演算子) - Project_OKI’s diary

 

関連記事

過去の記事:

知らないと損するお金の話(ふるさと納税、確定申告とワンストップ納税どっちが得?) - Project_OKI’s diary

C言語基礎知識6(関数) - Project_OKI’s diary

C言語基礎知識7(構造体1) - Project_OKI’s diary

C言語基礎知識8(enum:列挙型) - Project_OKI’s diary

C言語基礎知識9(typedef) - Project_OKI’s diary

C言語基礎知識10(extern宣言) - Project_OKI’s diary

C言語基礎知識11(#define) - Project_OKI’s diary

 

組み込みC言語: