Given an unsigned char *x, I need to round the address that *x points to down to a multiple of 16. Such as 0x7fff5fbff7fc down to 0x7fff5fbff7f0. I've tried to shift it using:
x >> 4;
x << 4;
Also tried
x >>= 4;
x <<= 4;
but it won't allow me to do this considering it is not an integer. Any advice?