Explore BrainMass
Share

Explore BrainMass

    Java: Displaying number in it's binary representation

    This content was COPIED from BrainMass.com - View the original, and get the already-completed solution here!

    Write a Java program that uses bitwise operations to:

    1. generate and display all power-of-two numbers in the range +128 to -128, and
    2. display an arbitrary user-input integer.

    Implement the solution using one class. In your class, provide two methods - main and display.

    Your main method should:
    - Declare int number = 128;
    - Include a while loop that loops while number is >= ­-128.
    + Call the display method, which prints the value of its passed-in number parameter.
    + If number is greater than zero, use the >>= operator to do one arithmetic right shift.
    + If number equals zero, use the ~ operator to complement it.
    + If number is less than zero, use the <<= operator to do one left shift.
    - After the while loop, ask the user to input any number, and call the display method to print that number.

    Your display(number) method should:
    - Receive a number parameter.
    - Print number's value and a tab.
    - Assign to a local variable named mask the value 1 shifted left 31 times. This puts a 1 in bit 31 and zeros in all other bits.
    - Use a for loop to step through all 32 bits, doing the following in each step:
    + Use a conditional operator whose condition is (mask & number != 0) to print either 1 or 0.
    + After every fourth bit, print a single space to make the output readable.

    Your program should mimic the sample session given below.

    Decimal Binary

    128 0000 0000 0000 0000 0000 0000 1000 0000
    64 0000 0000 0000 0000 0000 0000 0100 0000
    32 0000 0000 0000 0000 0000 0000 0010 0000
    16 0000 0000 0000 0000 0000 0000 0001 0000
    8 0000 0000 0000 0000 0000 0000 0000 1000
    4 0000 0000 0000 0000 0000 0000 0000 0100
    2 0000 0000 0000 0000 0000 0000 0000 0010
    1 0000 0000 0000 0000 0000 0000 0000 0001
    0 0000 0000 0000 0000 0000 0000 0000 0000
    -1 1111 1111 1111 1111 1111 1111 1111 1111
    -2 1111 1111 1111 1111 1111 1111 1111 1110
    -4 1111 1111 1111 1111 1111 1111 1111 1100
    -8 1111 1111 1111 1111 1111 1111 1111 1000
    -16 1111 1111 1111 1111 1111 1111 1111 0000
    -32 1111 1111 1111 1111 1111 1111 1110 0000
    -64 1111 1111 1111 1111 1111 1111 1100 0000
    -128 1111 1111 1111 1111 1111 1111 1000 0000

    Enter any integer: 127
    127 0000 0000 0000 0000 0000 0000 0111 1111

    © BrainMass Inc. brainmass.com October 10, 2019, 12:06 am ad1c9bdddf
    https://brainmass.com/computer-science/java/java-displaying-number-in-it-s-binary-representation-279254

    Solution Preview

    Please rename attached 279254.java to YourNameProg3.java before you compile ...

    Solution Summary

    Though 0 is not a power-of-two number, but attached Java program has to display it to meet the mimicking requirement in question.

    $2.19