TheDeveloperBlog.com

Home | Contact Us

C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML

<< Back to JAVA

Java Integer.bitCount and toBinaryString

Use the bitCount method on the Integer class. BitCount returns the number of 1 bits in a value.
BitCount. The Integer class provides the bitCount method. This uses an algorithm to return the number of bits set to 1 in the integer. As we know, integers are represented by bit patterns.
With BitCount, we count 1 bits with no special code. We can test the result of bitCount against toBinaryString and a char-counting algorithm.
A simple example. Here we use Integer.bitCount on some simple numbers. For 0, no bits are set to 1. For 1, only 1 bit is set. And for the largest integer, 31 bits are set to 1.

Note: The value 0 has no bits set, and the value 1 has just one bit set. The MAX_VALUE has all except the sign bit set (31 bits).

Java program that uses bitCount public class Program { public static void main(String[] args) { // Call bitCount on 0, 1 and MAX_VALUE. int bits0 = Integer.bitCount(0); int bits1 = Integer.bitCount(1); int bitsAll = Integer.bitCount(Integer.MAX_VALUE); System.out.println(bits0); System.out.println(bits1); System.out.println(bitsAll); } } Output 0 1 31
Simulation example. Here we run a little simulation. We test 10 random integers. We call bitCount on them and also use toBinaryString.Random

Then: We test the binary string against the bit count. We find the count of "one" values is equal to the result of bit count.

So: The Java built-in code is consistent. Most Java code included is high-quality and well-tested.

Java program that uses bitCount and toBinaryString import java.util.Random; public class Program { public static void main(String[] args) { Random rand = new Random(); // Generate 10 tests. for (int i = 0; i < 10; i++) { // Get a random int. int value = rand.nextInt(1000); // Use bitCount and toBinaryString. int count = Integer.bitCount(value); String result = Integer.toBinaryString(value); // Count 1 values in binary string. int charCount = 0; for (int z = 0; z < result.length(); z++) { if (result.charAt(z) == '1') { charCount++; } } // Print results. System.out.println(":: TEST ::"); System.out.println("BitCount: " + count); System.out.println("BinaryString: " + result); System.out.println("CharCount: " + charCount); } } } Output :: TEST :: BitCount: 4 BinaryString: 101011 CharCount: 4 :: TEST :: BitCount: 4 BinaryString: 110110000 CharCount: 4 :: TEST :: BitCount: 6 BinaryString: 1110011010 CharCount: 6 :: TEST :: BitCount: 4 BinaryString: 1001100010 CharCount: 4 :: TEST :: BitCount: 5 BinaryString: 1010111000 CharCount: 5 :: TEST :: BitCount: 7 BinaryString: 1011110101 CharCount: 7 :: TEST :: BitCount: 7 BinaryString: 111011101 CharCount: 7 :: TEST :: BitCount: 4 BinaryString: 10011010 CharCount: 4 :: TEST :: BitCount: 5 BinaryString: 101011010 CharCount: 5 :: TEST :: BitCount: 4 BinaryString: 101000011 CharCount: 4
With bitCount and toBinaryString we access the underlying representation of an int. Usually in high-level code the bits are not needed, but they are sometimes important.
For advanced, memory-efficient algorithms like digital trees that have many nodes, bits can be used to guide a program's execution. This can yield algorithms of astonishing speed.Tree
© TheDeveloperBlog.com
The Dev Codes

Related Links:


Related Links

Adjectives Ado Ai Android Angular Antonyms Apache Articles Asp Autocad Automata Aws Azure Basic Binary Bitcoin Blockchain C Cassandra Change Coa Computer Control Cpp Create Creating C-Sharp Cyber Daa Data Dbms Deletion Devops Difference Discrete Es6 Ethical Examples Features Firebase Flutter Fs Git Go Hbase History Hive Hiveql How Html Idioms Insertion Installing Ios Java Joomla Js Kafka Kali Laravel Logical Machine Matlab Matrix Mongodb Mysql One Opencv Oracle Ordering Os Pandas Php Pig Pl Postgresql Powershell Prepositions Program Python React Ruby Scala Selecting Selenium Sentence Seo Sharepoint Software Spellings Spotting Spring Sql Sqlite Sqoop Svn Swift Synonyms Talend Testng Types Uml Unity Vbnet Verbal Webdriver What Wpf