0% found this document useful (0 votes)
83 views14 pages

Bitwise Operators: Dr. Lavika Goel MNIT Jaipur

Bitwise operators allow accessing and manipulating individual bits within an integer value. They provide a powerful and efficient way to work with bits directly at a low level. The common bitwise operators are AND (&), OR (|), XOR (^), NOT (~), left shift (<<), and right shift (>>). Using bitmasks and bitwise operators, we can set, clear, or check individual bits to represent Boolean values or status flags efficiently using only a single bit.

Uploaded by

Devansh Dubey
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
83 views14 pages

Bitwise Operators: Dr. Lavika Goel MNIT Jaipur

Bitwise operators allow accessing and manipulating individual bits within an integer value. They provide a powerful and efficient way to work with bits directly at a low level. The common bitwise operators are AND (&), OR (|), XOR (^), NOT (~), left shift (<<), and right shift (>>). Using bitmasks and bitwise operators, we can set, clear, or check individual bits to represent Boolean values or status flags efficiently using only a single bit.

Uploaded by

Devansh Dubey
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

Bitwise Operators

Dr. Lavika Goel


MNIT Jaipur
What is BitwiseStructure?
• The smallest type is of 8 bits (char).
• Sometimes we need only a single bit.
• For instance, storing the status of the lights
in 8 rooms:
• We need to define an array of at least 8
chars. If the light of room 3 is turned on
the value of the third char is 1, otherwise
0.
What is BitwiseStructure?

• It is better to define only 8 bits since a bit can also store the
values 0 or 1.
• But the problem is that there is no C type which is 1 bit long
(char is the longer with 1 byte).
• Solution: define a char (8 bits) but refer to each bit separately.
• Bitwise operators, introduced by the C language, provide
one of its more powerful tools for using and manipulating
memory. They give the language the real power of a “low-
level language”.
What is BitwiseStructure?
• Accessing bits directly is fast and efficient,
especially if you are writing a real-time
application.
• A single bit cannot be accessed
directly, since it has no address of
its own.
• The language introduces the bitwise
operators, which help in manipulating a
single bit of a byte.
• bitwise operators may be used on integral
types only (unsigned types are preferable).
4
Bitwise Operators
& bitwise AND
| bitwise OR
^ bitwise XOR
~ 1’s complement
<< Shift left
>> Shift right

All these operators can be suffixed with =


For instance a &= b; is the same as
a = a & b;
5
Bitwise Operators – truth table
a b a&b a|b a^b ~a

0 0 0 0 0 1

0 1 0 1 1 1

1 0 0 1 1 0

1 1 1 1 0 0

6
Bitwise Operators -Examples

7
Setting Bits
• How can we set a bit on or off?
• Manipulations on bits are enabled by mask
and bitwise operators.
• Bitwise OR of anything with 1 results in 1.
• Bitwise AND of anything with 0 results in 0.
Setting Bits

• For instance, how can we turn on the


light in room #3?
Setting Bits

• For instance, how can we turn off the


light in room #3?
Getting Bits

• How can we know if a bit is on or off?


• Manipulations on bits are enabled
by mask and bitwise operators.
• Bitwise AND of anything with 1
results in the same value.
Getting Bits
• For instance, how can we check if the
light in room #3 is turned on or off?
Bitwise Operations
• Why use them?
• A single bit shift left is a very fast way of
integer multiplication by 2.
• A single bit shift right is a very fact way of
integer division by 2.
• An AND operation with all zeros is a very
efficient way to clear out a field.
• We can use single bits in a word (32 bits) to
represent Boolean values very efficiently.
These are sometimes call flags.
End

You might also like