Top community members
All Wiki Articles Create Wiki Article

Many years me and my friends we were volunteers on my university doing programming classes for young people.

I got main conclusion: Young people are awesome, especially students, because they always bring new and fresh ideas :)
* I loved to do it but my time is limited

  I decided to create something that will help millions of students

Now I am here

co-founder

Java - how to get int max and min value with bitwise operations?

0 contributions
2 points

Short solution:

int MAX_VALUE = -1 >>> 1;
int MIN_VALUE = -1 << 31;

System.out.println(MAX_VALUE); //  2147483647
System.out.println(MIN_VALUE); // -2147483648

Other short solution:

int MAX_VALUE = ~0 >>> 1;
int MIN_VALUE = ~MAX_VALUE;

System.out.println(MAX_VALUE); //  2147483647
System.out.println(MIN_VALUE); // -2147483648

1. Using bit shift operators

public class Example1 {

    public static void main(String[] args) {

        int MAX_VALUE = -1 >>> 1;
        int MIN_VALUE = -1 << 31;

        System.out.println(MAX_VALUE); //  2147483647
        System.out.println(MIN_VALUE); // -2147483648

        // 01111111111111111111111111111111
        System.out.println( toBinaryWithLeadingZeros(MAX_VALUE) );

        // 10000000000000000000000000000000
        System.out.println( toBinaryWithLeadingZeros(MIN_VALUE) );
    }
    
    private static String toBinaryWithLeadingZeros(int MAX_VALUE) {
        String binaryString = Integer.toBinaryString(MAX_VALUE);
        return String.format("%32s", binaryString).replace(' ', '0');
    }
}

2. Using bit shift and NOT operators

public class Example2 {

    public static void main(String[] args) {

        int MAX_VALUE = ~0 >>> 1;
        int MIN_VALUE = ~MAX_VALUE;

        System.out.println(MAX_VALUE); //  2147483647
        System.out.println(MIN_VALUE); // -2147483648

        // 01111111111111111111111111111111
        System.out.println( toBinaryWithLeadingZeros(MAX_VALUE) );

        // 10000000000000000000000000000000
        System.out.println( toBinaryWithLeadingZeros(MIN_VALUE) );
    }

    private static String toBinaryWithLeadingZeros(int MAX_VALUE) {
        String binaryString = Integer.toBinaryString(MAX_VALUE);
        return String.format("%32s", binaryString).replace(' ', '0');
    }
}

3. Stanrad way of getting Integer MAX and MIN value in java

public class Example3 {

    public static void main(String[] args) {

        System.out.println( Integer.MAX_VALUE ); //  2147483647
        System.out.println( Integer.MIN_VALUE ); // -2147483648
    }
}

 

0 contributions

Checkout latest Findings & News:

Checkout latest questions:

Checkout latest wiki articles:

Hey 👋
Would you like to know what we do?
  • Dirask is IT community, where we share coding knowledge and help each other to solve coding problems.
  • We welcome everyone,
    no matter what the experience,
    no matter how basic the question is,
    this community will help you.
Read more