Method 1:
unsigned long l_val; unsigned short s_low, s_high; s_low = (unsigned short )l_val; s_high = (unsigned short )(l_val >> 16);Method 2:
struct two_short { unsigned short low; unsigned short high; }; unsigned long l_val; unsigned short s_low, s_high; struct two_short * p_long; p_long = (Struct two_short *)&l_val; s_high = p_long->high; s_low = p_long->low;Method 3:
unsigned long l_val; unsigned short s_low, s_high; unsigned short * p_short; p_long = (unsigned short *)&l_val; s_low = *p_short; p_short++; s_high = *p_short;Please note method 3 only works for only little endian processors.
About our authors: Team EQA
You have viewed 1 page out of 252. Your C learning is 0.00% complete. Login to check your learning progress.