Useful C Programs
1> Bit Operations
Set , Clear, Check bit.
#include<stdio.h>.
void showbit(int);
int setbit(int,int);
int clearbit(int,int);
int rtshift(int,int);
int lfshift(int,int);
int checkbit(int,int);
int dectohex(int);
int bintohex(int);
int main()
{
int a,b,value;
value =(10);
printf("%d:\n",value);
showbit(value);
a = rtshift(value ,2);
printf("%d:\n",a);
showbit(a);
b = lfshift(value ,2);
printf("%d:\n",b);
showbit(b);
checkbit(value,1)? printf("Bit Set"):printf("Bit Clear");
return 0;
}
void showbit(int a)
{
int i,d=0;
for(i=31;i>=0;i--)
{
if(!(a &(1<<i)))
{
printf("0");
d++;
}
else
{
printf("1");
d++;
}
if (d == 4)
{
printf(" ");
d=0;
}
}
printf("\n");
//Simpler way for above
//!(a &(1<<i))?printf("0"):printf("1");
}
int rtshift(int val,int rtshft)
{
return (val>>rtshft);
}
int lfshift(int val,int lfshft)
{
return (val<<lfshft);
}
int setbit(int val,int pos)
{
return (val|(1<<pos));
}
int clearbit(int val,int pos)
{
return (val&=~(1 << (pos-1)));
}
int checkbit(int val,int pos)
{
return (val & (1<<pos));
}
1> Bit Operations
Set , Clear, Check bit.
#include<stdio.h>.
void showbit(int);
int setbit(int,int);
int clearbit(int,int);
int rtshift(int,int);
int lfshift(int,int);
int checkbit(int,int);
int dectohex(int);
int bintohex(int);
int main()
{
int a,b,value;
value =(10);
printf("%d:\n",value);
showbit(value);
a = rtshift(value ,2);
printf("%d:\n",a);
showbit(a);
b = lfshift(value ,2);
printf("%d:\n",b);
showbit(b);
checkbit(value,1)? printf("Bit Set"):printf("Bit Clear");
return 0;
}
void showbit(int a)
{
int i,d=0;
for(i=31;i>=0;i--)
{
if(!(a &(1<<i)))
{
printf("0");
d++;
}
else
{
printf("1");
d++;
}
if (d == 4)
{
printf(" ");
d=0;
}
}
printf("\n");
//Simpler way for above
//!(a &(1<<i))?printf("0"):printf("1");
}
int rtshift(int val,int rtshft)
{
return (val>>rtshft);
}
int lfshift(int val,int lfshft)
{
return (val<<lfshft);
}
int setbit(int val,int pos)
{
return (val|(1<<pos));
}
int clearbit(int val,int pos)
{
return (val&=~(1 << (pos-1)));
}
int checkbit(int val,int pos)
{
return (val & (1<<pos));
}