Buenas!
Primero disculpas por cómo está planteada la pregunta, no sé como darla a entender.
Básicamente quería consultar sobre qué pasa al operar con shifts cuando tenemos variables de distinto tamaño. Por ejemplo:
char p = 1;
short n1 = p << 9;
Lo probé en C* y al momento de imprimir n1 me da 512, como si en realidad p se hubiera "agrandado". Mientras que si primero hago el shift (en una línea aparte) y luego la asigno a n1 me imprime 0. Mi pregunta es, al operar funciona todo de otra manera? p se "transformó" en short? Tiene que ver con lo de precisión extendida que se habló en teórico?
Saludos,