- Java.lang Package classes
- Java.lang - Home
- Java.lang - Boolean
- Java.lang - Byte
- Java.lang - Character
- Java.lang - Character.Subset
- Java.lang - Character.UnicodeBlock
- Java.lang - Class
- Java.lang - ClassLoader
- Java.lang - Compiler
- Java.lang - Double
- Java.lang - Enum
- Java.lang - Float
- Java.lang - InheritableThreadLocal
- Java.lang - Integer
- Java.lang - Long
- Java.lang - Math
- Java.lang - Number
- Java.lang - Object
- Java.lang - Package
- Java.lang - Process
- Java.lang - ProcessBuilder
- Java.lang - Runtime
- Java.lang - RuntimePermission
- Java.lang - SecurityManager
- Java.lang - Short
- Java.lang - StackTraceElement
- Java.lang - StrictMath
- Java.lang - String
- Java.lang - StringBuffer
- Java.lang - StringBuilder
- Java.lang - System
- Java.lang - Thread
- Java.lang - ThreadGroup
- Java.lang - ThreadLocal
- Java.lang - Throwable
- Java.lang - Void
- Java.lang Package extras
- Java.lang - Interfaces
- Java.lang - Errors
- Java.lang - Exceptions
- Java.lang Package Useful Resources
- Java.lang - Useful Resources
- Java.lang - Discussion
Java - Integer numberOfLeadingZeros() method
Description
The Java Integer numberOfLeadingZeros() method returns the number of zero bits preceding the highest-order ("leftmost") one-bit in the two's complement binary representation of the specified int value.
It returns 32 if the specified value has no one-bits in its two's complement representation, in other words if it is equal to zero.
Declaration
Following is the declaration for java.lang.Integer.numberOfLeadingZeros() method
public static int numberOfLeadingZeros(int i)
Parameters
i − This is the int value.
Return Value
This method returns the number of zero bits preceding the highest-order ("leftmost") one-bit in the two's complement binary representation of the specified int value, or 32 if the value is equal to zero.
Exception
NA
Example 1
The following example shows the usage of Integer numberOfLeadingZeros() method to get the number of zero bits preceding the highest-order one bit. We've created a int variable and assigned it a positive int value. Then using toBinaryString() method, we're printing the binary format of the value. Using bitCount(), we're printing the one bits count. Using highestOneBit() we're printed the top order bit. Using lowestOneBit(), we're printing the lowest bit and then value of zero bits preceding the highest-order one bit is printed using numberOfLeadingZeros() method.
package com.tutorialspoint; public class IntegerDemo { public static void main(String[] args) { int i = 170; System.out.println("Number = " + i); /* returns the string representation of the unsigned integer value represented by the argument in binary (base 2) */ System.out.println("Binary = " + Integer.toBinaryString(i)); // returns the number of one-bits System.out.println("Number of one bits = " + Integer.bitCount(i)); /* returns an int value with at most a single one-bit, in the position of the highest-order ("leftmost") one-bit in the specified int value */ System.out.println("Highest one bit = " + Integer.highestOneBit(i)); /* returns an int value with at most a single one-bit, in the position of the lowest-order ("rightmost") one-bit in the specified int value.*/ System.out.println("Lowest one bit = " + Integer.lowestOneBit(i)); /*returns the number of zero bits preceding the highest-order ("leftmost")one-bit */ System.out.print("Number of leading zeros = "); System.out.println(Integer.numberOfLeadingZeros(i)); } }
Output
Let us compile and run the above program, this will produce the following result −
Number = 170 Binary = 10101010 Number of one bits = 4 Highest one bit = 128 Lowest one bit = 2 Number of leading zeros = 24
Example 2
The following example shows the usage of Integer numberOfLeadingZeros() method to get the number of zero bits preceding the highest-order one bit. We've created a int variable and assigned it a negative int value. Then using toBinaryString() method, we're printing the binary format of the value. Using bitCount(), we're printing the one bits count. Using highestOneBit() we're printed the top order bit. Using lowestOneBit(), we're printing the lowest bit and then value of zero bits preceding the highest-order one bit is printed using numberOfLeadingZeros() method.
package com.tutorialspoint; public class IntegerDemo { public static void main(String[] args) { int i = -170; System.out.println("Number = " + i); /* returns the string representation of the unsigned integer value represented by the argument in binary (base 2) */ System.out.println("Binary = " + Integer.toBinaryString(i)); // returns the number of one-bits System.out.println("Number of one bits = " + Integer.bitCount(i)); /* returns an int value with at most a single one-bit, in the position of the highest-order ("leftmost") one-bit in the specified int value */ System.out.println("Highest one bit = " + Integer.highestOneBit(i)); /* returns an int value with at most a single one-bit, in the position of the lowest-order ("rightmost") one-bit in the specified int value.*/ System.out.println("Lowest one bit = " + Integer.lowestOneBit(i)); /*returns the number of zero bits preceding the highest-order ("leftmost")one-bit */ System.out.print("Number of leading zeros = "); System.out.println(Integer.numberOfLeadingZeros(i)); } }
Output
Let us compile and run the above program, this will produce the following result −
Number = -170 Binary = 11111111111111111111111101010110 Number of one bits = 28 Highest one bit = -2147483648 Lowest one bit = 2 Number of leading zeros = 0
Example 3
The following example shows the usage of Integer numberOfLeadingZeros() method to get the number of zero bits preceding the highest-order one bit. We've created a int variable and assigned it a zero int value. Then using toBinaryString() method, we're printing the binary format of the value. Using bitCount(), we're printing the one bits count. Using highestOneBit() we're printed the top order bit. Using lowestOneBit(), we're printing the lowest bit and then value of zero bits preceding the highest-order one bit is printed using numberOfLeadingZeros() method.
package com.tutorialspoint; public class IntegerDemo { public static void main(String[] args) { int i = 0; System.out.println("Number = " + i); /* returns the string representation of the unsigned integer value represented by the argument in binary (base 2) */ System.out.println("Binary = " + Integer.toBinaryString(i)); // returns the number of one-bits System.out.println("Number of one bits = " + Integer.bitCount(i)); /* returns an int value with at most a single one-bit, in the position of the highest-order ("leftmost") one-bit in the specified int value */ System.out.println("Highest one bit = " + Integer.highestOneBit(i)); /* returns an int value with at most a single one-bit, in the position of the lowest-order ("rightmost") one-bit in the specified int value.*/ System.out.println("Lowest one bit = " + Integer.lowestOneBit(i)); /*returns the number of zero bits preceding the highest-order ("leftmost")one-bit */ System.out.print("Number of leading zeros = "); System.out.println(Integer.numberOfLeadingZeros(i)); } }
Output
Let us compile and run the above program, this will produce the following result −
Number = 0 Binary = 0 Number of one bits = 0 Highest one bit = 0 Lowest one bit = 0 Number of leading zeros = 32