how to exchnage bits in a byte
b7<-->b0 b6<-->b1 b5<-->b2 b4<-->b3
please mail me the code if any one know to
rajeshmb4u@gmail.com
Answer Posted / abdur rab
You can swap swap bits using two ways
1 ) with for loop
2 ) using recursion
#include <stdio.h>
char swap_bits_in_byte ( unsigned char byte_2_swap )
{
unsigned char swapped_byte = 0;
int nloop = 0;
for( nloop = 0; nloop < 8; ++nloop ) {
swapped_byte = swapped_byte << 1;
swapped_byte |= ( byte_2_swap & 1 );
byte_2_swap = byte_2_swap >> 1;
}
return ( swapped_byte );
}
unsigned char swap_bits ( unsigned char byte_2_swap, int
n_size )
{
unsigned char swapped_byte = 0;
int bits = ( ( sizeof ( unsigned char ) * 8 ) - 1 );
if ( bits == n_size ) {
swapped_byte = ( byte_2_swap
& (unsigned char) ( pow (
2, n_size ) ) )
? ( 1 << ( bits - n_size ) ) : 0;
} else {
swapped_byte = swap_bits ( byte_2_swap,
n_size + 1 );
swapped_byte |= ( byte_2_swap
& (unsigned char) ( pow (
2, n_size ) ) )
? ( 1 << ( bits - n_size ) ) : 0;
}
return ( swapped_byte );
}
int main ( int argc, char* argv [] )
{
unsigned char byte = 128 | 32;
unsigned char swapped_byte = 0;
swapped_byte = swap_bits_in_byte ( byte );
printf ( "\n Un Swapped Byte :%d", byte );
printf ( "\n Swapped Byte :%d", swapped_byte );
swapped_byte = swap_bits ( byte, 0 );
printf ( "\n Un Swapped Byte :%d", byte );
printf ( "\n Swapped Byte :%d", swapped_byte );
}
| Is This Answer Correct ? | 2 Yes | 0 No |
Post New Answer View All Answers
How can I delete a file?
int i[2], j; int *pi;i[0] = 1; i[1] = 5; pi = i; j = *pi + 1 + *(pi + 1)Value of j after execution of the above statements will be a) 7 b) 6 c) 4 d) pointer
write a program to find the given number is prime or not
What is the difference between the expression “++a” and “a++”?
Write a program to print ASCII code for a given digit.
Why is sizeof () an operator and not a function?
What is c standard library?
What is pragma c?
What should malloc(0) do?
Can variables be declared anywhere in c?
What is graph in c?
What are the disadvantages of external storage class?
Are local variables initialized to zero by default in c?
What is getche() function?
Explain the use of 'auto' keyword