0% found this document useful (0 votes)
94 views

Bit-Wise Operators

The bitwise AND, OR, XOR, and complement operators perform bit-level logic operations on integers. The shift operators << and >> shift all bits of an integer left or right by a specified number of bits.

Uploaded by

Shashank Shekhar
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)
94 views

Bit-Wise Operators

The bitwise AND, OR, XOR, and complement operators perform bit-level logic operations on integers. The shift operators << and >> shift all bits of an integer left or right by a specified number of bits.

Uploaded by

Shashank Shekhar
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/ 8

Bitwise AND operator &

• The output of bitwise AND is 1 if the


corresponding bits of two operands is 1. If either
bit of an operand is 0, the result of corresponding
bit is evaluated to 0.
• Let us suppose the bitwise AND operation of two
integers 12 and 25.
12 = 00001100
25 = 00011001

12 and 25 00001100 & 00011001 ________


00001000 = 8 (In decimal)
Bitwise OR operator |

• The output of bitwise OR is 1 if at least one


corresponding bit of two operands is 1. In C
Programming, bitwise OR operator is denoted by |.
12 = 00001100 (In Binary)
25 = 00011001 (In Binary)

• Bitwise OR Operation of 12 and 25


• 00001100
• | 00011001
• ________
• 00011101 = 29 (In decimal)
Bitwise XOR (exclusive OR)
operator ^
• The result of bitwise XOR operator is 1 if the
corresponding bits of two operands are opposite.
It is denoted by ^.
12 = 00001100 (In Binary)
25 = 00011001 (In Binary)

• Bitwise XOR Operation of 12 and 25


• 00001100
• ^ 00011001
• ________
• 00010101 = 21 (In decimal)
Bitwise complement operator ~
• Bitwise compliment operator is an unary
operator (works on only one operand). It
changes 1 to 0 and 0 to 1. It is denoted by ~.
35 = 00100011 (In Binary)

• Bitwise complement Operation of 35


• ~ 00100011
________
• 11011100 = 220 (In decimal)
Contd…
• The bitwise complement of 35 is 220 (in
decimal). The 2's complement of 220 is -36.
Hence, the output is -36 instead of 220.
• Note: Bitwise complement of any number N
is -(N+1).
• Here's how:
– bitwise complement of N = ~N (represented in
2's complement form) 2'complement of ~N= -
(~(~N)+1) = -(N+1)
Shift Operators in C
programming
• There are two shift operators in C
programming:
– Right shift operator
– Left shift operator.
Right Shift Operator
• Right shift operator shifts all bits towards
right by certain number of specified bits. It
is denoted by >>.
– 212 = 11010100 (In binary)
– 212>>2 = 00110101 (In binary) [Right shift by
two bits]
– 212>>7 = 00000001 (In binary)
– 212>>8 = 00000000
– 212>>0 = 11010100 (No Shift)
Left Shift Operator
• Left shift operator shifts all bits towards
left by certain number of specified bits. It is
denoted by <<.
– 212 = 11010100 (In binary)
– 212<<1 = 110101000 (In binary) [Left shift by
one bit]
– 212<<0 =11010100 (Shift by 0)
– 212<<4 = 110101000000 (In binary) =3392(In
decimal)

You might also like