Welcome Readers!
We hope that you are doing great and enjoying your coding journey so far. It is really important that you always stay excited to learn something new.
Important Links : Problem Link, Solution Video
So in an urge to stay young let's start with something fresh. In this article we will introduce you to a new topic, "Bit Manipulation". We will discuss couple of things around this topic such as:
- Storage
- Types and Range
- Conversions
- Operators
- Question
Let's discuss each of them in detail.
- Suppose you initiated any variable, say x of type int with 57; this number is of decimal format but as you might know that everything is stored in binary format inside the machine.
- So the value that corresponds to 57 in binary format is stored instead of 57 inside the memory stack.
- But if you print x then this binary form is converted into decimal form again. And you will get 57 printed and not its binary form.
- To store numbers, we have 4 types; Byte, Short, Int and Long.
- Byte can store 8 bits, Short can store 16 bits, Int can store 32 bits and Long can store 64 bits.
- Since each bit has two options to store, that is it can either store 1 or 0.
- This implies Byte can represent 2^8 distinct numbers, Short - 2^16, Int - 2^32 and Long - 2^64.
- But how do these store negative and positive numbers? Let's see.
- Let's assume that a new type Nibble has been introduced in Java. And it can store 4 bits which implies it is capable of representing 2^4 i.e. 16 distinct numbers.