unsigned int number = 0xABCDEF unsigned int ef = number & 0xff; unsigned int cd = (number >> 8) & 0xff; unsigned int ab = (number >> 16) & 0xff;
Instead of bitwise and ( & ) operations, you might want ef , cd , ab be unsigned char types, depending on the rest of your code and how you work with these variables. In this case, you pass an unsigned char :
unsigned int number = 0xABCDEF unsigned char ef = (unsigned char) number; unsigned char cd = (unsigned char) (number >> 8); unsigned char ab = (unsigned char) (number >> 16);
source share