/* http://www.vijaynetwork.com Nibble swap of 16 bit and 8 bit number. */ #include #include int main ( void ) { unsigned int num = 0xABDC; unsigned char num1 = 0xEF; int result; result = ( ( ( ( (num&0xFF) << 4 )& 0xf0 ) | ( (num&0xFF) >> 4 ) ) & 0xFF )| ( ( ( ( (num>>8) << 4 ) & 0xf0 ) | ((num>>8)>> 4 ) ) << 8 ) ; printf("After Swap( 16bit 0x%X ):0x%X\n", num, result); result = (unsigned char)( num1 << 4 ) | ( num1 >> 4 ); printf("After Swap( 8bit 0x%X ):0x%X \n", num1, result); getch(); }