数値を16進数 8進数 2進数表記の文字列に変換する - C#
C#で数値を16進数や8進数、2進数の文字列表記に変換するコードを紹介します。
概要
2,8,16の各進数表記に変換する場合は、Convert.ToString() メソッドを用います。第一引数に変換元の値のみを与えた場合は、10進数の表記として変換しますが、第二引数に基数を与えた場合は、与えた基数の進数表記に変換します。ただし、基数は2,8,10,16のどれかである必要があります。10進数への変換については
こちらの記事を参照してください。
16進表記への変換
16進数へ変換する場合は
Convert.ToString((値),16);
とします。
補足
16進数表記へ変換する場合は、Format()メソッドを用いた方法もあります。Formatを利用した変換方法は
こちらの記事を参照してください。
8進表記への変換
16進数へ変換する場合は
Convert.ToString((値),8);
とします。
2進表記への変換
16進数へ変換する場合は
Convert.ToString((値),2);
とします。
サンプルプログラム
UI
下図のUIを作成します。ボタンが4つ配置されていますが、一番左のボタンは今回使用しません。
コード
以下のコードを記述します。
[16進数表示]ボタンがbutton2, [8進数表示]ボタンがbutton3, [2進数表示]ボタンがbutton4 です。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace NumericFormatDemo
{
public partial class FormNDecimal : Form
{
public FormNDecimal()
{
InitializeComponent();
}
private void button2_Click(object sender, EventArgs e)
{
int value = 50219;
textBox1.Text += Convert.ToString(value, 16);
}
private void button3_Click(object sender, EventArgs e)
{
int value = 50219;
textBox1.Text += Convert.ToString(value, 8);
}
private void button4_Click(object sender, EventArgs e)
{
int value = 50219;
textBox1.Text += Convert.ToString(value, 2);
}
}
}
実行結果
プロジェクトを実行します。下図のウィンドウが表示されます。
[16進数表示]ボタンをクリックします。50129を16進表記した"c42b"がテキストボックスに表示されます。
[8進数表示]ボタンをクリックします。50129を8進表記した"142053"がテキストボックスに表示されます。
[2進数表示]ボタンをクリックします。50129を2進表記した"1100010000101011"がテキストボックスに表示されます。
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
最終更新日: 2017-09-04
作成日: 2014-08-20