C#で数値を16進形式で出力する方法
C#では、標準の書式指定子を利用するだけで、整数値を簡単に16進数形式へ変換して表示できます。ここでは、具体的なサンプルコードとともに、その方法をわかりやすく解説します。
変換対象の数値
まず、例として次のような整数値を用意します。
int a = 12250;
16進形式の書式指定子
この数値を16進形式で表示するには、以下の4種類の書式指定子が使えます。それぞれ出力結果の見え方が異なるので、用途に応じて使い分けましょう。
{0:x}
{0:x8}
{0:X}
{0:X8}
各指定子の意味は次のとおりです。
- {0:x} … 英小文字(a〜f)を使った16進数で出力します。
- {0:x8} … 英小文字の16進数を、8桁になるまで先頭を「0」で埋めて出力します。
- {0:X} … 英大文字(A〜F)を使った16進数で出力します。
- {0:X8} … 英大文字の16進数を、8桁になるまで先頭を「0」で埋めて出力します。
サンプルコード
実際にこれらの書式指定子を使用したコードは以下のとおりです。
using System;
class Demo {
static void Main() {
int a = 12250;
Console.WriteLine("{0:x}", a);
Console.WriteLine("{0:x8}", a);
Console.WriteLine("{0:X}", a);
Console.WriteLine("{0:X8}", a);
}
}
実行結果
上記のコードを実行すると、コンソールには次のように表示されます。
2fda 00002fda 2FDA 00002FDA
このように、「x」と「X」の違いは英字の出力ケース(小文字・大文字)であり、数字を付けることで桁数を揃えてゼロ埋め表示が可能になります。デバッグ時やログ出力などで、数値を見やすい形式に整えたい場合にぜひ活用してください。
-
C++で16進数を10進数に変換するプログラムの作成方法
16進数が入力として与えられたとき、その16進数を10進数に変換するのが本記事のテーマです。 コンピュータにおける16進数は基数16で表現され、10進数は基数10で表現されます。10進数では0〜9の数字のみを使用しますが、16進数では0〜15までの値を扱うことができ、10以上の値はそれぞれA(10)、B(11)、C(12)、D(13)、E(14)、F(15)という英字で表されます。 16進数から10進数への変換手順 16進数を10進数に変換するには、以下の手順に従います。 右端の桁から順に数字を取り出し、0から始まるべき乗を掛けていきます。指数は「桁数 − 1」になるまで1ずつ増やします。
-
C++で10進数を16進数に変換するプログラムの作り方
10進数の数値が入力として与えられたとき、その数値を16進数に変換するのが本記事の目的です。 コンピュータの世界では、16進数は基数16で表現され、10進数は基数10で表現されます。10進数は0〜9の値を使って表されるのに対し、16進数は0〜15の数字を持ちます。そのうち10は「A」、11は「B」、12は「C」、13は「D」、14は「E」、15は「F」として表されます。 10進数から16進数への変換手順 10進数を16進数に変換するには、以下の手順に従います。 まず、与えられた数値を変換先の基数で割ります。たとえば、6789を16進数に変換する場合、基数である16で6789を割り、商を求め