Merge pull request #380 from petersonddb/dec2bin-bitwise

Add a bitwise conversion for DecimalToBinary. 

@petersonddb Thanks for the commit
This commit is contained in:
Varun Upadhyay
2018-02-18 17:07:27 -08:00
committed by GitHub

View File

@ -6,27 +6,52 @@ import java.util.Scanner;
* @author Unknown * @author Unknown
* *
*/ */
class DecimalToBinary class DecimalToBinary {
{
/** /**
* Main Method * Main Method
* *
* @param args Command Line Arguments * @param args Command Line Arguments
*/ */
public static void main(String args[]) public static void main(String args[]) {
{ conventionalConversion();
Scanner sc=new Scanner(System.in); bitwiseConversion();
int n,k,s=0,c=0,d;
System.out.print("Decimal number: ");
n=sc.nextInt();
k=n;
while(k!=0)
{
d=k%2;
s=s+d*(int)Math.pow(10,c++);
k/=2;
}//converting decimal to binary
System.out.println("Binary equivalent:"+s);
sc.close();
} }
/**
* This method converts a decimal number
* to a binary number using a conventional
* algorithm.
*/
public static void conventionalConversion() {
int n, b = 0, c = 0, d;
Scanner input = new Scanner(System.in);
System.out.printf("Conventional conversion.\n\tEnter the decimal number: ");
n = input.nextInt();
while (n != 0) {
d = n % 2;
b = b + d * (int) Math.pow(10, c++);
n /= 2;
} //converting decimal to binary
System.out.println("\tBinary number: " + b);
}
/**
* This method converts a decimal number
* to a binary number using a bitwise
* algorithm
*/
public static void bitwiseConversion() {
int n, b = 0, c = 0, d;
Scanner input = new Scanner(System.in);
System.out.printf("Bitwise conversion.\n\tEnter the decimal number: ");
n = input.nextInt();
while (n != 0) {
d = (n & 1);
b += d * (int) Math.pow(10, c++);
n >>= 1;
}
System.out.println("\tBinary number: " + b);
}
} }