mir ist gerade aufgefallen, dass bei deiner tasterabfrage ein kleiner (denk)fehler ist:

du hast 0x16 geschrieben, wobei dies aber 10110 als binärzahl ergibt.
richtiger wiese müsste es aber 10000, bzw. 16 als dezimalzahl sein

0x zeigt dem compiler an, dass die darauffolgende zahl in hexadezimaler schreibweise vorliegt