INT erste Stelle 0 gibt anderen Wert. (022 gibt 18 aus)

Hi,

ich wundere mich gerade, warum mir mein Code eine 18 ausgibt.

Würde gerne wissen, woran das liegt :slight_smile:
Außerdem wüsste ich gerne, ob der Fehler beim Print oder bei der Definition liegt :slight_smile:

int blub = 022;

void setup() {
  Serial.begin(9600);
}

void loop() {
  Serial.println(blub);
  delay(500);
}

Ausgabe immer 18

Autsch. Netter Fehler

Führende Nullen interpretiert der Compiler als Oktal:

22 in Oktal ist 18 in Dezimal, da 2 * 8 + 2 = 16 + 2 = 18