5 Replies - 8908 Views - Last Post: 14 February 2010 - 08:03 PM Rate Topic: -----

#1 Guest_Theresa Schultz*


Reputation:

Binary to Decimal Conversion

Posted 14 February 2010 - 02:55 PM

I have an assignment to write a java code to convert a binary number to a decimal number and print it. Here is what I have so far and I am stuck and could realy use some help. Please forgive me because I was really having a hard time wrapping my head around this for some reason. Please give me any help you can; it would be greatly appreciated. The file compiled without errors but it didn't print out anything; it did nothing after I entered the number.
//Convert Binary Number to Decimal App
import java.util.Scanner; 
 
public class BinaryToDecimal { 
 
         
        public static void main(String[] args) { 
                 
                int r; 
                int s = 0; 
                int p = 1; 
                 
 
             Scanner in = new Scanner(System.in);
	     System.out.println("Binary to Decimal Convert App");	 
             System.out.println("Enter a Binary Number:");//prompt for binary number to be converted 
             int n= in.nextInt(); 
             
	     { 
             int temp = n;

  	     while(n > 0) 
             { 
                 r = n % 10; 
                 temp = n / 10; 
                 if(r!= 0 && r!= 1) 
                 { 
                     System.out.println("This is not a binary number!"); 
                     System.exit(0);//exits if the number is non binary 
                 } 
             } 
             
             System.out.print("Binary="+n); 
             
              
             while(n>0) 
             { 
                 r=n%10; 
                 s=s+(r*p); 
                 p=p*2; 
                 n=n/10; 
             } 
             System.out.print("Converted to Decimal Number="+s);//generates output 
  
             } // End Method main 
        }} // End of class



Is This A Good Question/Topic? 0

Replies To: Binary to Decimal Conversion

#2 anonymouscodder  Icon User is offline

  • member icon

Reputation: 126
  • View blog
  • Posts: 710
  • Joined: 01-January 10

Re: Binary to Decimal Conversion

Posted 14 February 2010 - 03:06 PM

So you commented this:
System.out.println("Enter a Binary Number:");//prompt for binary number to be converted


And didn't commented this?
                int r; 
                int s = 0; 
                int p = 1; 


...
Was This Post Helpful? 0
  • +
  • -

#3 Guest_Theresa Schultz*


Reputation:

Re: Binary to Decimal Conversion

Posted 14 February 2010 - 03:58 PM

View Postanonymouscodder, on 14 February 2010 - 02:06 PM, said:

So you commented this:
System.out.println("Enter a Binary Number:");//prompt for binary number to be converted


And didn't commented this?
                int r; 
                int s = 0; 
                int p = 1; 


...


I know. I am lost. I tried to get some help from a previous post (http://www.dreamincode.net/forums/index.php?showtopic=153586&st=20) but I think it just confused me more. Maybe I should start over. I have to write a beginner program to convert a binary integer to a decimal integer and they want us to use division and remainder to get there. Can you provide any help? Of course my assignment is due at midnight tonight and I didn't realize I would have so much trouble with this but for some reason I have just hit a brick wall with this and don't know where to start...
Was This Post Helpful? 0

#4 japanir  Icon User is offline

  • jaVanir
  • member icon

Reputation: 1010
  • View blog
  • Posts: 3,025
  • Joined: 20-August 09

Re: Binary to Decimal Conversion

Posted 14 February 2010 - 04:14 PM

The reson is that after checking if n is a binary number, the value of n is 0.
then the while loop to convert n to decimal will NEVER execure. because n is never bigger than 0.
you can have two options.
1. you can set a temp variable to hold the value of n, and perform the check on this variable.
2. do both checking and converting in the same loop:

option 2: - converting and checking in the same loop
import java.util.Scanner;  
public class TestClass{  
  
        public static void main(String[] args) {
        	//binary value              
 			int bin = 0;
 			//decimal value
 			int decimal = 0;
 			//Scanner object
 			Scanner s = new Scanner(System.in);
 			//the pow of 2
 			int p = 1;
 			
 			//getting binary number
 			System.out.println("Enter Binary Number");
 			bin = s.nextInt();
 			
 			//the loop - checking and converting
 			while(bin > 0){
 				int decimalDig = bin % 10;
 				if(decimalDig != 0 && decimalDig != 1){
 					System.out.println("Number is not Binary");
 					System.exit(0);
 				}
 				//converting
 				else {
 					decimal += decimalDig * p;
 					p *= 2;
 					bin /= 10;	
 				}
 			}
 			//printing decimal value
 			System.out.println("Decimal Value is: " + decimal);
        	  
        }
}


Was This Post Helpful? 3
  • +
  • -

#5 Guest_Theresa Schultz*


Reputation:

Re: Binary to Decimal Conversion

Posted 14 February 2010 - 04:33 PM

You are AWESOME! That made SO much more sense to me than what I was trying to do. Thanks SO MUCH!
Was This Post Helpful? 0

#6 ninechances  Icon User is offline

  • D.I.C Head

Reputation: 6
  • View blog
  • Posts: 187
  • Joined: 08-February 10

Re: Binary to Decimal Conversion

Posted 14 February 2010 - 08:03 PM

you should really think about naming your variables something more straight forward.
Was This Post Helpful? 0
  • +
  • -

Page 1 of 1