El operador << es desplazamiento a la izquierda y el >> es desplazamiento a la derecha.
Siguiendo con tu valor de ejemplo
numb = 0xAF (hexadecimal) que es lo mismo que 10101111 (binario)
la forma de uso de "<<" o ">>" es
donde el último número indica la cantidad de bits que serán desplazados.
En tu caso al hacer 10101111 >> 4 obtenemos el número 00001010 esto es debido a que se desplazan 4 bits hacia la derecha entonces los 4 menos significativos se pierden y los 4 más significativo ocupan el lugar de menor peso.
De esa manera se puede obtener fácilmente el nibble alto de un byte.
Para obtener el nibble bajo se puede hacer una and con 0x0F. De esa manera, lo 4 bits de mayor peso se harán 0 y los 4 bits de menor peso mantendrán el valor que tienen.