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

Bit Wise Operators in C

Bitwise operators in C include & (bitwise AND), | (bitwise OR), ~ (bitwise NOT), ^ (XOR), << (left shift) and >> (right shift). These operators perform bitwise logic and shift operations on binary representations of decimal values. The document provides truth tables for the bitwise operators and examples of using each operator on values x=40 and y=80, showing the resulting binary and decimal values. It also includes a C program example using bitwise operators to demonstrate their functionality.

Uploaded by

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

Bit Wise Operators in C

Bitwise operators in C include & (bitwise AND), | (bitwise OR), ~ (bitwise NOT), ^ (XOR), << (left shift) and >> (right shift). These operators perform bitwise logic and shift operations on binary representations of decimal values. The document provides truth tables for the bitwise operators and examples of using each operator on values x=40 and y=80, showing the resulting binary and decimal values. It also includes a C program example using bitwise operators to demonstrate their functionality.

Uploaded by

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

Bit wise operators in C:

These operators are used to perform bit operations. Decimal values are converted into
binary values which are the sequence of bits and bit wise operators work on these bits.

Bit wise operators in C language are & (bitwise AND), | (bitwise OR), ~ (bitwise OR), ^
(XOR), << (left shift) and >> (right shift).

Truth table for bit wise operation Bit wise operators


x

x|y

x&y

x^y

&

Bitwise_AND

Bitwise OR

Bitwise_NOT

XOR

Operator_symbol

Operator_name

<<

Left Shift

>>

Right Shift

Consider x=40 and y=80. Binary form of these values are given below.

x = 00101000
y= 01010000

All bit wise operations for x and y are given below.

x&y = 00000000 (binary) = 0 (decimal)


x|y = 01111000 (binary) = 120 (decimal)
~x = 1111111111111111111111111111111111111111111111111111111111010111
.. ..= -41 (decimal)
x^y = 01111000 (binary) = 120 (decimal)
x << 1 = 01010000 (binary) = 80 (decimal)
x >> 1 = 00010100 (binary) = 20 (decimal)
Note:

Bit wise NOT : Value of 40 in binary


is0000000000000000000000000000000000000000000000000010100000000000. So, all
0s are converted into 1s in bit wise NOT operation.

Bit wise left shift and right shift : In left shift operation x << 1 , 1 means that the bits
will be left shifted by one place. If we use it as x << 2 , then, it means that the bits will
be left shifted by 2 places.

Example program for bit wise operators in C:

In this example program, bit wise operations are performed as shown above and output is
displayed in decimal format.

#include <stdio.h>
int main()
{
int m = 40,n = 80,AND_opr,OR_opr,XOR_opr,NOT_opr ;
AND_opr = (m&n);
OR_opr = (m|n);
NOT_opr = (~m);
XOR_opr = (m^n);
printf(AND_opr value = %d\n,AND_opr );
printf(OR_opr value = %d\n,OR_opr );
printf(NOT_opr value = %d\n,NOT_opr );
printf(XOR_opr value = %d\n,XOR_opr );
printf(left_shift value = %d\n, m << 1);
printf(right_shift value = %d\n, m >> 1);
}
Output:
AND_opr value = 0
OR_opr value = 120
NOT_opr value = -41
XOR_opr value = 120
left_shift value = 80
right_shift value = 20

#include <stdio.h>
int main()
{
int n, n1, rem, num=0;
printf("Enter a positive integer: ");
scanf("%d", &n);
n1=n;
while(n1!=0)
{
rem=n1%10;
num+=rem*rem*rem;
n1/=10;
}
if(num==n)
printf("%d is an Armstrong number.",n);
else
printf("%d is not an Armstrong number.",n);
}
#include <stdio.h>
int main()
{
int n, i, fl ag=0;
printf("Enter a positive integer: ");
scanf("%d",&n);
for(i=2;i<=n/2;++i)
{
if(n%i==0)
{
fl ag=1;
break;
}
}
if (fl ag==0)
printf("%d is a prime number.",n);
else
printf("%d is not a prime number.",n);
return 0;
}
#include <stdio.h>
int main()
{
int n, reverse=0, rem;
printf("Enter an integer: ");
scanf("%d", &n);
while(n!=0)
{
rem=n%10;
reverse=reverse*10+rem;
n/=10;
}
printf("Reversed Number = %d",reverse);
return 0;

You might also like