bitops
bitops
#include<stdio.h>
#define SET_BIT(n,d) (n | (1<<d-1))
int show(int);
int main()
{
int num,d;
show(num);
num=SET_BIT(num,d);
show(num);
int show(int n)
{
int i;
for(i=1<<15;i>0;i=i/2)
(n & i) ? printf("1") : printf("0");
printf("\n");
#include<stdio.h>
#define CLR_BIT(n,d) (n & ~(1<<d-1))
int show(int);
int main()
{
int num,d;
printf("Enter number & the position which u want to set\n");
scanf("%d%d",&num,&d);
show(num);
num=CLR_BIT(num,d);
show(num);
int show(int n)
{
int i;
for(i=1<<15;i>0;i=i/2)
(n & i) ? printf("1") : printf("0");
printf("\n");
#include<stdio.h>
#define INVERT_BIT(n,d) (n ^ (1<<d-1))
int show(int);
int main()
{
int num,d;
show(num);
num=INVERT_BIT(num,d);
show(num);
}
int show(int n)
{
int i;
for(i=1<<15;i>0;i=i/2)
(n & i) ? printf("1") : printf("0");
printf("\n");
#include<stdio.h>
int show(int);
int main()
{
int num;
printf("Enter number\n");
scanf("%d",&num);
show(num);
int show(int n)
{
int i;
for(i=1<<15;i>0;i=i/2)
(n & i) ? printf("1") : printf("0");
printf("\n");
}
//PROGRAM TO COUNT NUMBER OF SET BITS IN A NUMBER
#include<stdio.h>
int show(int);
int count(int);
int main()
{
int num;
printf("Enter number\n");
scanf("%d",&num);
show(num);
count(num);
}
int show(int n)
{
int i;
for(i=1<<15;i>0;i=i/2)
(n & i) ? printf("1") : printf("0");
printf("\n");
}
int count(int n)
{
int c=0;
while(n)
{
if(n & 1)
c++;
n = n>>1;
}
#include<stdio.h>
int show(int);
int count(int);
int main()
{
int num;
printf("Enter number\n");
scanf("%d",&num);
show(num);
count(num);
}
int show(int n)
{
int i;
for(i=1<<15;i>0;i=i/2)
(n & i) ? printf("1") : printf("0");
printf("\n");
}
int count(int n)
{
int c=0;
while(n)
{
if(n & 1)
c++;
n = n>>1;
}
if(c==1)
printf("Power of 2\n");
}
//PROGRAM TO INTERCHANGE EVEN AND ODD POSITION BITS IN A NUMBER
#include<stdio.h>
int show(int);
int main()
{
int num, odd, even;
printf("Enter number\n");
scanf("%d",&num);
show(num);
odd=odd>>1;
even=even<<1;
num=odd | even;
show(num);
int show(int n)
{
int i;
for(i=1<<15;i>0;i=i/2)
(n & i) ? printf("1") : printf("0");
printf("\n");
}
//PROGRAM TO INTERCHANGE EVEN AND ODD POSITION NIBBLES IN A NUMBER
#include<stdio.h>
int show(int);
int main()
{
int num, odd, even;
printf("Enter number\n");
scanf("%d",&num);
show(num);
odd=odd>>4;
even=even<<4;
num=odd | even;
show(num);
int show(int n)
{
int i;
for(i=1<<15;i>0;i=i/2)
(n & i) ? printf("1") : printf("0");
printf("\n");
}
//PROGRAM TO FIND POSITION OF A SET BIT IN A NUMBER
#include<stdio.h>
#include<math.h>
int show(int);
int main()
{
int num, pos;
printf("Enter number\n");
scanf("%d",&num);
pos=log2(num) + 1;
show(num);
int show(int n)
{
int i;
for(i=1<<15;i>0;i=i/2)
(n & i) ? printf("1") : printf("0");
printf("\n");
}
//PROGRAM TO FIND NUMBER OF BITS REQUIRED TO ALTER FOR A-->B
#include<stdio.h>
int show(int);
int count(int);
int main()
{
int a,b, num;
show(a);
show(b);
num=a ^ b;
show(num);
count(num);
}
int show(int n)
{
int i;
for(i=1<<15;i>0;i=i/2)
(n & i) ? printf("1") : printf("0");
printf("\n");
}
int count(int n)
{
int c=0;
while(n)
{
if(n & 1)
c++;
n=n>>1;
}
printf("Total bits to alter are %d\n",c);
}
//PROGRAM TO RESET FIRST SET BIT OF A NUMBER
#include<stdio.h>
int show(int);
int main()
{
int num;
printf("Enter number\n");
scanf("%d",&num);
show(num);
show(num);
int show(int n)
{
int i;
for(i=1<<15;i>0;i=i/2)
(n & i) ? printf("1") : printf("0");
printf("\n");
}
//PROGRAM TO FIND POSITION OF FIRST SET BIT IN A NUMBER
#include<stdio.h>
#include<math.h>
int show(int);
int main()
{
int num,pos;
printf("Enter number\n");
scanf("%d",&num);
show(num);
pos=log2(num)+1;
int show(int n)
{
int i;
for(i=1<<15;i>0;i=i/2)
(n & i) ? printf("1") : printf("0");
printf("\n");