ADVERTISEMENT
ADVERTISEMENT

C program to swap two bits of a byte

Swapping of two bits of a byte using C program: Here, we will learn how to swap two bits of a byte?

Given a byte (an integer number of 8 bits) and we have to swap its any two bits using C program.

In this program, we declared an unsigned char type variable to read 8 bits number (byte) and we are swapping two bits (1 and 2) of given number.

Example:

Input number:  0x0A (Hexadecimal)
Binary of input number: 0000 1010
After swapping of bit 1 and 2
Binary will be: 0000 1100
Output number will be: 0x0C (Hexadecimal)

Swapping two bits of a byte using C program

#include <stdio.h>

/*
Program to swap 1st and 2nd bit of hexadecimal value stored in data variable
*/

int main()
{
    unsigned char data = 0xA; // Assiging hexadecimal value

    // Get 1st bit from data
    unsigned char bit_1 = (data >> 1) & 1;

    // Get 2nd bit from data
    unsigned char bit_2 = (data >> 2) & 1;

    // Get XOR of bit_1 and bit_2
    unsigned char xor_of_bit = bit_1 ^ bit_2;

    printf("After swapping the bits, data value is: %2X", data ^ (xor_of_bit << 1 | xor_of_bit << 2));

    return 0;
}

Output

After swapping the bits, data value is:  C

C Bitwise Operators Programs »



ADVERTISEMENT



ADVERTISEMENT



Comments and Discussions


ADVERTISEMENT

ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT

Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing
» Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates

© https://www.includehelp.com some rights reserved.