Gauche la vitesse d'un nombre négatif n'est pas défini pour le général de cas, mais nous devons comprendre pourquoi ce comportement indéfini (UB)? Gardez à l'esprit que le Bit de poids fort (MSb) est le bit de signe. Si ce bit est à 1, le nombre est négatif. Si c'est un zéro le nombre est positif. C'est l'essentiel de l'information est perdue avec le premier virage à gauche. Par exemple
-32768<<4
c'est la même chose que
0x8000<<4
(en supposant que les 16 bits de la machine pour des raisons de simplicité)
Le résultat est, bien sûr, de 0 qui n'a pas vraiment de sens et est donc UB.
Dans le cas spécifique de la question de l'entrevue de l'OP, il y a seulement une valeur spécifique qui nous concerne...pas le cas général. -1 (0xffffffff sur un ordinateur 32 bits) décalé à gauche 4 fois donnera 0xfffffff0 que l'OP à l'origine de la pensée.