software keil ~(1lt;lt;5)
¿Estás asignando un valor? Esto depende del tipo de datos de la variable que asigne (1lt;lt;5), es decir, 1 se mueve 5 bits hacia la izquierda, que es 0010 0000 en binario;
El primer ~ es el recíproco del bit, que se convierte en 1101 1111, que es 0xDF. Por lo tanto, si se asigna a un tipo char sin signo, será 0xFD; si se asigna a un tipo int sin signo, será 0xFFDF y así sucesivamente;