Java - 10 進数から 2 進数へ、10 進数から 8 進数へ、および 10 進数から 16 進数への変換
このチュートリアルでは、10 進数を 2 進数に、10 進数を 8 進数に、10 進数を 16 進数に変換する方法を説明します。以下の Java プログラムを確認してください。
10 進数を 2 進数に変換する Java プログラム:-
import java.util.Scanner;
public class DecimalToBinary
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
//Taking input from the user
System.out.println("Enter The Decimal Number : ");
int inputNumber = sc.nextInt();
//Copying inputNumber into copyOfInputNumber
int copyOfInputNumber = inputNumber;
//Initializing binary to empty string
String binary = "";
//Defining rem to store remainder
int rem = 0;
while (inputNumber > 0)
{
rem = inputNumber % 2;
binary = rem + binary;
inputNumber = inputNumber/2;
}
System.out.println("Binary Equivalent of "+copyOfInputNumber+" is "+binary);
}
}
出力:
10 進数を入力してください:
50
50 に相当する 2 進数は 110010 です
10 進数を 8 進数に変換する Java プログラム:-
import java.util.Scanner;
public class DecimalToOctal
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
//Taking input from the user
System.out.println("Enter The Decimal Number : ");
int inputNumber = sc.nextInt();
//Copying inputNumber into copyOfInputNumber
int copyOfInputNumber = inputNumber;
//Initializing octal to empty string
String octal = "";
//Defining rem to store remainder
int rem = 0;
while(inputNumber > 0)
{
rem = inputNumber%8;
octal = rem + octal;
inputNumber = inputNumber/8;
}
System.out.println("Octal Equivalent of "+copyOfInputNumber+" is "+octal);
}
}
出力:
10 進数を入力してください:
1000
8 進数の 1000 は 1750 に相当します
10 進数を 16 進数に変換する Java プログラム:-
import java.util.Scanner;
public class DecimalToHexaDecimal
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
//Taking input from the user
System.out.println("Enter The Decimal Number : ");
int inputNumber = sc.nextInt();
//Copying inputNumber into copyOfInputNumber
int copyOfInputNumber = inputNumber;
//Initializing hexa to empty string
String hexa = "";
//Digits in HexaDecimal Number System
char hexaDecimals[]={
'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
//Defining rem to store remainder
int rem = 0;
while(inputNumber > 0)
{
rem = inputNumber%16;
hexa = hexaDecimals[rem] + hexa;
inputNumber = inputNumber/16;
}
System.out.println("HexaDecimal Equivalent of "+copyOfInputNumber+" is "+hexa);
}
}
出力:
10 進数を入力してください:
2000
16 進数で 2000 に相当するのは 7D0 です