C#で10進数を2進数に変換する方法をわかりやすく解説
はじめに
C#のプログラミングにおいて、10進数を2進数に変換する処理は、アルゴリズムの基礎を学ぶうえで非常に重要なテーマです。本記事では、除算演算子(/)と剰余演算子(%)を使った基本的な変換方法を、サンプルコードとともに詳しく解説します。
10進数から2進数への変換の手順
例として、10進数の「48」を2進数に変換してみましょう。
変換の基本手順は以下のとおりです。
- 対象の数値を2で割る
- その際の剰余(% 演算の結果)を記録する
- 商(/ 演算の結果)が1以上である限り、同じ処理を繰り返す
これをコードで表現すると、次のようになります。
decVal = 48;
while (decVal >= 1) {
val = decVal / 2;
a += (decVal % 2).ToString();
decVal = val;
}このループでは、剰余を順番に文字列へ追加していくため、求めた桁は下位ビットから並びます。そのため、最後に文字列を反転させて正しい順序に整える必要があります。
完全なサンプルコード
以下に、10進数48を2進数に変換し、結果をコンソールに表示する完全なプログラムを示します。
例
using System;
using System.Collections.Generic;
using System.Text;
namespace Demo {
class MyApplication {
static void Main(string[] args) {
int decVal;
int val;
string a = "";
decVal = 48;
Console.WriteLine("Decimal = {0}", decVal);
while (decVal >= 1) {
val = decVal / 2;
a += (decVal % 2).ToString();
decVal = val;
}
string binValue = "";
// 下位ビットから格納されているため、逆順に並べ替える
for (int i = a.Length - 1; i >= 0; i--) {
binValue = binValue + a[i];
}
Console.WriteLine("Binary = {0}", binValue);
Console.Read();
}
}
}実行結果
Decimal = 48
Binary = 110000
このように、10進数の「48」は2進数では「110000」になります。
Convert.ToStringメソッドを使う方法
.NET標準ライブラリを利用すれば、上記のようなループ処理を自分で書く必要はありません。Convert.ToStringメソッドを使うと、1行で簡単に変換できます。
int decVal = 48; string binary = Convert.ToString(decVal, 2); Console.WriteLine(binary); // 出力: 110000
第2引数に基数「2」を指定することで、2進数形式の文字列が取得できます。同様に「8」や「16」を指定すれば、8進数・16進数への変換も可能です。
まとめ
- 除算(/)と剰余(%)を組み合わせたループ処理で、10進数を2進数に変換できる
- 計算した剰余は下位ビットから順に得られるため、最後に文字列を反転させる必要がある
- 実務ではConvert.ToString(数値, 2)を使えば簡潔に変換可能
アルゴリズムの学習としては自作ロジックの理解が重要ですが、実際の開発では標準ライブラリを活用するのが効率的です。用途に応じて使い分けましょう。
-
JavaScriptで画像をBlobに変換する方法【サンプルコード&解説つき】
JavaScriptで画像をBlobに変換するには?Webアプリケーション開発では、画像などのファイルデータを「Blob(Binary Large Object:バイナリラージオブジェクト)」として扱いたい場面が多くあります。たとえば、画像のアップロード処理やCanvasへの描画、サーバーへのデータ送信などがその代表例です。JavaScriptでは、fetch()メソッドとBlobオブジェクトを組み合わせることで、URLから取得した画像を簡単にBlobへ変換できます。以下に実際のサンプルコードを示します。サンプルコード<!DOCTYPE html> <html lang=&q
-
Windows 10の「電卓」アプリを使って10進数を2進数に変換する方法
Windows 10には標準搭載されている「電卓」アプリを使えば、10進数から2進数への変換を簡単に行うことができます。電卓はUWPアプリとして提供されており、起動するにはスタートメニューの検索バーに「calc」と入力してEnterキーを押すだけです。日々の作業の中で、10進数を2進数に変換したい、あるいは逆に2進数を10進数に戻したいという場面は意外と多くあります。そんなときに活躍するのが、Windows電卓の「プログラマー」モードです。Windows 10の電卓で10進数を2進数に変換する手順Windowsの電卓はいくつかのモードで動作でき、そのうちのひとつが「プログラマー」モードです。1