読者です 読者をやめる 読者になる 読者になる

集中力なら売り切れたよ

プログラミングや、将棋などについて書きます。

0から15までの数値を16進数、2進数で表示するプログラム

Rubyで書くと標準のprintfの指定方法に2進数が備わっているので簡単です。

(0..15).each do |i|
  printf("0x%02x = %04b\n", i, i)
end

C#ではConsole.WriteLineの書式では16進数は可能ですが、2進数には変換できないのでConvertクラスを利用して一旦変換してから呼び出します。

using System;

class Program
{
    static void Main(string[] args)
    {
        for (int i = 0; i < 16; i++) {
            string b = Convert.ToString(i, 2);
            int n = Convert.ToInt32(b);
            Console.WriteLine("0x{0:x2} = {1:D4}", i, n);
        }
    }
}

出力結果

基本情報技術者試験などでは基数変換問題で16進数から2進数に変換する問題は頻出なので0から15は丸暗記するくらいでもいいと思います。

0x00 = 0000
0x01 = 0001
0x02 = 0010
0x03 = 0011
0x04 = 0100
0x05 = 0101
0x06 = 0110
0x07 = 0111
0x08 = 1000
0x09 = 1001
0x0a = 1010
0x0b = 1011
0x0c = 1100
0x0d = 1101
0x0e = 1110
0x0f = 1111