Javaで数値を2進数に変換するプログラムの書き方
数値を2進数に変換する処理は、プログラミングにおける基本的なアルゴリズムの一つです。ここでは、Javaを使って10進数の数値を2進数に変換するコードを紹介します。
サンプルコード
import java.io.*;
public class Demo {
static void decimal_to_bin(int n){
int[] bin_num = new int[50];
int i = 0;
while (n > 0){
bin_num[i] = n % 2;
n = n / 2;
i++;
}
for (int j = i - 1; j >= 0; j--)
System.out.print(bin_num[j]);
}
public static void main (String[] args){
int n = 89;
System.out.println("The conversion from floating to binary is ");
decimal_to_bin(n);
}
}
実行結果
The conversion from floating to binary is 1011001
コードの解説
Demoという名前のクラスの中に、decimal_to_binというメソッドが定義されています。このメソッドは、引数として渡された10進数の整数を2進数へと変換します。
変換の仕組みは非常にシンプルです。まず、数値nを2で割った余り(n % 2)を配列bin_numに格納します。次に、nを2で割った商(n / 2)を新たなnとして設定し、同じ処理をnが0になるまで繰り返します。これは基数変換における基本手法で、余りを下位の桁から順に求めることで、2進数の各ビットを取得できます。
すべての桁の計算が完了したら、配列に格納された値を末尾から先頭へ向かって逆順に出力します。これにより、正しい桁順の2進数表現が得られます。
mainメソッドでは、変換対象となる数値として89が定義され、その数値を引数としてdecimal_to_binメソッドが呼び出されます。実行すると、89は2進数で「1011001」であることが確認できます。
-
グレイコードをバイナリコードに変換するPythonプログラムの書き方
グレイコード(Gray code)は、隣接する数値間でビットが1つだけ変化するように設計された特殊な二進表現です。デジタル通信やエンコーダなど、誤差を最小限に抑えたい場面で活用されます。本記事では、Pythonを使ってグレイコードを通常のバイナリコードに変換する方法を解説します。変換の基本的な考え方は、先頭ビットはそのままコピーし、2番目以降の各ビットは「直前のバイナリ結果のビット」と「現在のグレイコードのビット」をXOR演算した値とするというものです。以下では、このロジックを実装したサンプルコードを紹介します。サンプルコードdef flip_num(my_nu): return 1
-
浮動小数点数を2進数(バイナリ)に変換するPythonプログラム
浮動小数点数の値と、出力に含める小数点以下の桁数が与えられたとき、その値を2進数(バイナリ)形式へ変換するのがこのプログラムの目的です。 基本の考え方はシンプルです。まず浮動小数点値から整数部を取り出して2進数に変換し、次に小数部を2進数に変換し、最後に両者を結合します。 変換アルゴリズムの流れ 入力された浮動小数点数を、整数部と小数部に分割する 整数部はPythonの組み込み関数 bin() を使って2進数へ変換する 小数部は「2倍して整数部分を取り出す」操作を指定桁数だけ繰り返し、各桁のビットを順に求める 整数部と小数部を小数点「.」で連結して完成させる 計算例 浮動小数点値:22.