unsigned long int



  • Hallo,

    Ich bin grad dabei mich durch ein C++-Programm durchzulesen und hab z.Zt. folgendes Problem:

    const static unsigned long int mControllableFlag=0x01;
    

    Was ich hier nicht verstehe ist "0x01".
    Dann wäre noch eine zweite Frage(wahrscheinlich im Zusammenhang mit der ersten): die Operatoren |= und &= tauchen immer wieder auf und weiss nicht was ich darunter versehen soll..?
    z.B.:

    mFlags |= mControllableFlag // mFlag ist natürlich vom gleichen Typ wie mControllableFlag
    

    Danek für eure Hilfe!



  • 1. 0x01 ist HEX und hat den Dezimalwert von 1.
    2.

    char i = 6;
    i += 2; // das gleiche wie i = i + 7, also auf i 2 drauf addieren
    i |= 2; // i oder-verknüpfen mit 2 => i = 0000 1000, 2 = 0000 0010 => 0000 1010
    i &= 2; // i und-verknüpfen mit 2 => i = 0000 1010, 2 = 0000 0010 => 0000 0010
    


  • Allroad schrieb:

    Was ich hier nicht verstehe ist "0x01".

    0x zeigt eine Hexadezimalzahl an. 0x2F ist also 2F16=47102F_{16} = 47_{10}. Ob 0x oder 0X ist egal.

    Dann wäre noch eine zweite Frage(wahrscheinlich im Zusammenhang mit der ersten): die Operatoren |= und &= tauchen immer wieder auf und weiss nicht was ich darunter versehen soll..?

    Das sind zusammengesetzte Zuweisungsoperatoren.

    a += b  // bedeutet: a = a + b
    a &= b  // bedeutet: a = a & b
    

    & ist bitweise Und-Verknüpfung, | ist bitweise Oder-Verknüpfung.



  • Airdamn schrieb:

    i += 2; // das gleiche wie i = i + 7, also auf i 2 drauf addieren

    Wirklich? 😉

    cheers, Swordfish



  • Na jetzt macht es doch ein bischen Sinn was ich da durchlesen muss... 👍 !
    Danke! Ich werde mich aber mit Sicherheit nochmal melden 🙂 ! (das sieht ziemlich schlimm aus, was ich hier entziffern muss... )



  • Swordfish schrieb:

    Airdamn schrieb:

    i += 2; // das gleiche wie i = i + 7, also auf i 2 drauf addieren

    Wirklich? 😉

    cheers, Swordfish

    Ach verdammt, bei der Suche nach einem anschaulichen Beispiel hab ich an der Stelle vergessen zu ändern 🤡



  • passt schon, hab dennoch verstanden was du meinst 😉


Anmelden zum Antworten