Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
?
Solved

Binary String Display

Posted on 2001-06-21
4
Medium Priority
?
241 Views
Last Modified: 2010-03-31
I would like to create a Binary String Formatter?

Example:

If i feed it a 2...I would like it to display

00000010

OR

0010

OR

10

Depending on what I want the bit display length to be. I want the final string to be saved in a variable that I can pass to other classes for various displays??



Any suggestions?
0
Comment
Question by:Vernstump
4 Comments
 

Expert Comment

by:johnbrewer1980
ID: 6216207
how about the following function:
void printBinary(int number, int displayLength) {
   for (int i = displayLength - 1; i >= 0; --i) {
      System.out.print((number >> i) & 1);
   }    
}
0
 
LVL 2

Expert Comment

by:iDeb
ID: 6216208
take your class and override the toString method and put a for loop where you divide your number by 2 and depending upon whether there is a remainder you add a 1 or 0 to a string.
0
 
LVL 2

Expert Comment

by:venkat2000120699
ID: 6216222
Here is a traditional approach to the problem.

public class BinaryFormatter {
    public static void main(String args[]) {
        int a[] = new int[32];
        int n = 31;
        int maximumNumberOfBitsToDisplay = 4;
       
        int number = 10;
       
System.out.println("The bit pattern for " + number + " is:");
       
        while(number > 0) {
            int bit = number % 2;
            a[n--] = bit;
            number = (int)(number / 2);
        }
       
       
        for (int k=a.length - maximumNumberOfBitsToDisplay; k < a.length; k++) {
                 System.out.print(a[k]);
        }
     
    }//end of main()
}//end of class
0
 
LVL 1

Accepted Solution

by:
eattrig earned 200 total points
ID: 6216298
There is a static method in java.lang.Integer called toBinaryString(int).  It returns a String representation of the number (in decimal) which you pass in.  However, there is no parameter where the client can specify how much 0 padding to place on the end.  But you could write the following:

public static String getBinary(int num)
{
    String numStr = Integer.toBinaryString(num);
    // if you wanted a total of 8 digits in the String
    int addZeros = 8 - numStr.length();
    for (int x = 0; x < addZeros; x++)
        numStr = '0' + numStr;
    return numStr;
}
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

By the end of 1980s, object oriented programming using languages like C++, Simula69 and ObjectPascal gained momentum. It looked like programmers finally found the perfect language. C++ successfully combined the object oriented principles of Simula w…
Java Flight Recorder and Java Mission Control together create a complete tool chain to continuously collect low level and detailed runtime information enabling after-the-fact incident analysis. Java Flight Recorder is a profiling and event collectio…
Viewers learn about the third conditional statement “else if” and use it in an example program. Then additional information about conditional statements is provided, covering the topic thoroughly. Viewers learn about the third conditional statement …
Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:
Suggested Courses
Course of the Month15 days, 19 hours left to enroll

580 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question