この記事では、C言語で10進数を16進数表記にする方法、文字列を16進数表記にする方法、そしてポインタを16進数表記にする方法について解説します。
10進数を16進数表記にする方法
C言語では、printf関数
を使用して数値を16進数表記にすることができます。
16進数表記では、0から9までの数字に加えて、AからFまでのアルファベットが使用されます。
以下は、10進数を16進数表記にする方法の例です。
#include <stdio.h>
int main() {
int decimal = 255;
printf("10進数: %d\n", decimal);
printf("16進数: %x\n", decimal);
return 0;
}
上記のコードでは、printf関数
のフォーマット指定子として%x
を使用しています。
%x
は、整数を16進数表記で表示するための指定子です。
実行結果は以下のようになります。
10進数: 255
16進数: ff
%x
を使用することで、10進数の255が16進数のffとして表示されました。
文字列を16進数表記にする方法
C言語では、文字列を16進数表記にするためには、printf関数
のフォーマット指定子として%s
を使用します。
ただし、文字列そのものを16進数表記にすることはできません。
文字列を16進数表記にするためには、文字列をバイト列として扱い、それぞれの文字を16進数で表示する必要があります。
以下は、文字列を16進数表記にする方法の例です。
#include <stdio.h>
int main() {
char str[] = "Hello, World!";
printf("文字列: %s\n", str);
for (int i = 0; str[i] != '\0'; i++) {
printf("%02x ", str[i]);
}
return 0;
}
上記のコードでは、printf関数
のフォーマット指定子として%s
を使用しています。
また、文字列を16進数表記にするために、for
ループを使用して文字列の各文字を16進数で表示しています。
実行結果は以下のようになります。
文字列: Hello, World!
48 65 6c 6c 6f 2c 20 57 6f 72 6c 64 21
文字列Hello, World!
が16進数表記で表示されました。
ポインタを16進数表記にする方法
C言語では、ポインタを16進数表記にするためには、printf関数
のフォーマット指定子として%p
を使用します。
以下は、ポインタを16進数表記にする方法の例です。
#include <stdio.h>
int main() {
int num = 10;
int *ptr = #
printf("ポインタの値: %p\n", ptr);
return 0;
}
上記のコードでは、printf関数
のフォーマット指定子として%p
を使用しています。
%p
は、ポインタの値を16進数表記で表示するための指定子です。
実行結果は以下のようになります。
ポインタの値: 0x7ffeeb7a9a9c
ポインタの値が16進数表記で表示されました。
以上が、C言語で10進数を16進数表記にする方法、文字列を16進数表記にする方法、ポインタを16進数表記にする方法です。