【C言語】16進数・2進数の文字列をprintf関数で表示する方法

この記事では、C言語のprintf関数を使用して、16進数と2進数の文字列を表示する方法を紹介します。

16進数の文字列を表示するには、printf関数の書式指定子を使用します。

一方、2進数の文字列を表示するためには、自作の関数を使う必要があります。

初心者の方でもわかりやすく解説していきますので、ぜひ参考にしてください。

目次から探す

16進数の文字列をprintf関数で表示する方法

16進数は、10進数とは異なる表記方法を持つ数値です。

C言語では、16進数を表すためには、数値の前に 0x を付ける必要があります。

例えば、10進数の10は16進数では 0xA と表されます。

printf関数を使用して、16進数の文字列を表示する方法を説明します。

printf関数は、指定された書式に従って文字列を出力するための関数です。

以下に、16進数の文字列をprintf関数で表示するサンプルコードを示します。


#include <stdio.h>
int main() {
    int num = 15;
    printf("16進数の表示: %x\n", num);
    return 0;
}

上記のコードでは、変数numに16進数の値15を代入しています。

そして、printf関数を使用して、変数numの値を16進数で表示しています。

書式指定子%xを使用することで、変数の値を16進数で表示することができます。

実行結果は以下のようになります。

16進数の表示: f

このように、printf関数を使用することで、16進数の文字列を表示することができます。

2進数の文字列をprintf関数で表示する方法

2進数の文字列をprintf関数で表示する方法について説明します。

C言語のprintf関数は、様々なデータ型を表示するための便利な関数ですが、残念ながら2進数を直接表示するためのフォーマット指定子は存在しません。

しかし、自作の関数を使うことで2進数の文字列を表示することができます。

以下に、2進数の文字列を表示するためのサンプルコードを示します。


#include <stdio.h>
// 2進数の文字列を表示する関数
void printBinary(const char* binaryString) {
    int i = 0;
    while (binaryString[i] != '\0') {
        printf("%c", binaryString[i]);
        i++;
    }
}
int main() {
    const char* binary = "101010";
    printf("2進数: ");
    printBinary(binary);
    printf("\n");
    return 0;
}

上記のコードでは、printBinaryという関数を定義しています。

この関数は、引数として2進数の文字列を受け取り、文字列を1文字ずつ表示します。

main関数では、printBinary関数を使用して2進数の文字列を表示しています。

binary変数には表示したい2進数の文字列を指定し、 printBinary(binary) という形で関数を呼び出しています。

実行結果は以下のようになります。

2進数: 101010

このように、自作の関数を使うことで2進数の文字列をprintf関数で表示することができます。

目次から探す