C#では数値リテラルにプレフィックス0x
を前置することで16進数表記で整数リテラルを記述できます。 桁揃えのために数値の先頭に0
を並べることもできます。 また、桁区切り文字としてアンダースコア_
を入れることもできます。
16進整数リテラルを使って16進数値を記述する
using System;
class Sample {
static void Main()
{
var a = 100; // 10進数で表された数値'100'
var b = 0x0100; // 16進数で表された数値'100'
var c = 0xFFFF; // 16進数で表された数値'FFFF'
var d = 0x0000_abcd; // 16進数で表された数値'abcd'
Console.WriteLine(a);
Console.WriteLine(b);
Console.WriteLine(c);
Console.WriteLine(d);
Console.WriteLine();
// 変数の値を16進数の文字列に変換して表示
Console.WriteLine(a.ToString("X"));
Console.WriteLine(b.ToString("X"));
Console.WriteLine(c.ToString("x")); // A-Fを小文字で表記する
Console.WriteLine(d.ToString("X")); // A-Fを大文字で表記する
}
}
実行結果
100 256 65535 43981 64 100 ffff ABCD
ToStringメソッドによる数値の文字列化と、16進形式の書式指定子X
については書式指定子 §.X, x (hexadecimal/16進数)を参照してください。