Du musst dir mehr Gedanken über die Größe der Datentypen machen, denn ein Integer auf einem 32-bit System ist nicht 16, sondern 32 Bit groß.
Wenn man das beachtet, ist -1 nicht 11111111 11111111, sondern 11111111 11111111 11111111 11111111 und -1 um 14 Stellen nach rechts geschoben ist dann logischerweise 00000000 00000011 11111111 11111111, exakt deine Ausgabe.