Search This Blog
Welcome to 1printf(), your ultimate destination for C, C++, Linux, Data Structures, and Microcontroller programming! ๐ ๐นLearn advanced coding techniques in C& C++ ๐นMaster Linux internals & shell scripting ๐นDeep dive into Data Structures & Algorithms ๐นExplore Embedded Systems & Microcontrollers (8051,UART, RTOS) ๐นGet hands-on coding tutorials, project ideas,and interview preparation tips Whether you're a beginner or an experienced programmer, this channel will help you
Featured
- Get link
- X
- Other Apps
Swap Nibbles of 8-bit Number in C
✅ Swap Nibbles of 8-bit Number in C
#include <stdio.h> // Header file for input/output functions
// Macro to swap the nibbles (4-bit groups) of an 8-bit number
// (x & 0x0F) extracts the lower nibble (last 4 bits)
// (x & 0xF0) extracts the upper nibble (first 4 bits)
// << 4 shifts lower nibble to upper position
// >> 4 shifts upper nibble to lower position
// The OR '|' combines both into the swapped result
#define SWAP_NIBBLES(x) (((x & 0x0F) << 4) | ((x & 0xF0) >> 4))
int main() {
unsigned char num; // Declare an 8-bit unsigned variable
printf("Enter an 8-bit number (0-255): "); // Prompt user for input
scanf("%hhu", &num); // Read input as unsigned char using %hhu format specifier
// Call the macro to swap the nibbles and store result in 'swapped'
unsigned char swapped = SWAP_NIBBLES(num);
// Print the result after swapping nibbles
printf("After swapping nibbles: %u\n", swapped);
return 0; // Return 0 to indicate successful execution
}
๐ Explanation:
This program demonstrates how to swap the two 4-bit nibbles of an 8-bit number using a macro.
A macro named SWAP_NIBBLES is defined to isolate the lower and upper nibbles using bitwise AND with 0x0F and 0xF0 respectively.
The lower nibble is shifted left by 4 bits and the upper nibble is shifted right by 4 bits, then both are combined using the bitwise OR | operator.
The user inputs an 8-bit number (from 0 to 255), and the program displays the result after nibble swapping.
This technique is useful in embedded systems, low-level data processing, and binary manipulations.
๐งพ Sample Output:
Enter an 8-bit number (0-255): 100 After swapping nibbles: 70
๐ Keywords:
Swap Nibbles in C, Bitwise Operations, C Macros, 8-bit Manipulation, Embedded C, Nibble Swapping, Low-level C Programming
๐ Hashtags:
#CProgramming #BitwiseOperators #MacrosInC #SwapNibbles #EmbeddedC #LowLevelCoding
Popular Posts
C++ Program for Hybrid Inheritance (All Types Together)
- Get link
- X
- Other Apps
C++ Program for Function Overloading Example
- Get link
- X
- Other Apps
Comments
Post a Comment