Here is a simple code example for 8 bit number, you can easily extend it to any bits you want. int
Oddparity(unsigned char p)
{
p = p ^ (p > > 4);
p = p ^ (p > > 2);
p = p ^ (p > > 1);
return p & 1;
}
>>>
Rajini
>>>
#include<stdio.h>
typedef char BYTE;
BYTE fnGetParity(BYTE bByte,BYTE bXor);
void main()
{
BYTE bVal;
scanf("%x",&bVal);
BYTE bParity = fnGetParity(bVal,0);//fnGetParity(bVal,0);
bVal = (bVal<<1)| (!bParity);
printf("0x%x",bVal);
}
BYTE fnGetParity(BYTE bByte,BYTE bXor)
{
if(bByte)
fnGetParity(bByte>>1,(bByte&0x1) ^ bXor);
else
return bXor;
}
>>>
Code found somewhere
>>>
#define XYZ(data, shift) (((data) >> (shift)) ^ (data))
void main ()
{
int x = 0x11;
printf("%x \n",(((XYZ(XYZ(XYZ(XYZ(x,8),4),2),1))&1)==0)?(x<<1)^1:x<<1);
}
>>>>>
Manohar
>>>>>
(Var>>1) | ~((var&1) ^ (var&2) ^ (var&4) ^ (var&8) ^ (var&16) ^ (var&32) ^ (var&64))
But this would be a hardcoded way!
>>>>>
Murali
>>>>>
#include <stdio.h>
#include <math.h>
void main()
{
int c=0,i=0,a;
printf("Enter value in decimal form (less than 127):");
scanf("%x",&a);
for(i=0;i<7;i++)
{
if((int(pow(2,i)) & a) !=0)
c=c+1;
else
c=c;
}
a=a<<1;
if (c%2==0 && c!=1)
a=a+1;
printf("Encrypted Value with Odd Parity is %x\n",a);
}
>>>
KIRAN
>>>
#include<stdio.h>
void main()
{
int s,c,n;
printf("Enter a number lessthan 128\n");
scanf("%x",&s);
c=0;
for(n=0;n<=6;n++)
if(s>>n&1)
c=c+1;
c%2?n= (s|0<<8)<<1:n= ((s|0<<8)<<1)|1;
printf("%x\n",n);
}
>>>
VIDYASAGAR
>>>
int main()
{
int i;
int a ,bit = 0,count = 0;
printf("enter a number in hexa \n");
scanf("%x",&a);
for(i=0;i<6;i++)
{
bit = ((a>>i)&1);
if(bit==1)
{
count++;
bit = 0;
}
}
a = a<<1;
if((count%2) == 0)//even parity
{
a= (a|1);
}
printf("%x\n",a);// our answer prints here
return 0;
}//end of main
>>>>
SADA
>>>>
#include <stdio.h>
void main()
{
int x,count=0;
unsigned int a;
printf("Enter the number: \n");
scanf("%d",&a);
for(x=0;x<=7;x++)
(a&(0000001<<x))?count++:0 ;
(float(count%2)==0)?(a=(a<<1)|00000001):(a=(a<<1)|00000000);
printf("%d",a);
}
>>>>
BHIMSEN
>>>>
void main()
{
int a = 0x55, r=1, od, i;
for(i=0;i<7;i++)
r = ((a>>i)&1)^r;
od = (a<<1)|r;
printf("%x \n",od);
}
Given a 7 bit variable, convert into a 8 bit variable with ODD parity
Example, if user inputs 0x11 then output shall be 0x23
0x10 then output shall be 0x22
I am looking for most efficient program or MACRO
--
At a certain point there is no difference between Magic and Science.
-Bhimsen Joshi
4 comments:
NAME:
ADDRESS:
AMOUNT WON:
COUNTRY:
PHONE
NUMBER:
AGE:
SEX:
OCCUPATION:NAME:
ADDRESS:
AMOUNT WON:
COUNTRY:
PHONE
NUMBER:
AGE:
SEX:
OCCUPATION:NAME:
ADDRESS:
AMOUNT WON:
COUNTRY:
PHONE
NUMBER:
AGE:
SEX:
OCCUPATION: Beta version
Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version Beta version
Post a Comment On: THOUGHTS...
"Given a 7 bit variable, convert into a 8 bit variable with ODD parity"Ticking Man Space Daytona Thrash N’ Burn Skateboarding Downhill Race
Ticking Man Space Daytona Thrash N’ Burn Skateboarding Downhill Race
aditya_nainital_19
Post a Comment