Erklärung Syntax



  • Hallo,

    ich bin grade dabei ein kleines Programm zum Anzeigen und zur Bearbeitung von Bitmaps zu schreiben.
    Dazu hab ich mich hier mal etwas umgetauscht, und bin auch auf SourceCode zum erstellen von HBITMAP´s gestossen. Dabei fiel mir folgende Zeile auf:

    bmih.biSizeImage = ((((bmih.biWidth * bmih.biBitCount) + 31)                           & ~31) >> 3) * bmih.biHeight;
    

    Das Ergebniss dieser Berechnung ist ja richtig. Aber was bitte passiert da?

    Speziel meine ich natürlich den Teil:

    + 31)& ~31) >> 3)
    

    Für Hilfe wäre ich sehr dankbar.
    Vielen Dank im Voraus.


  • Mod

    (x+31) & ~31

    Rundet auf die nächst größere Zahl, bei der die unteren 5 Bits 0 sind.

    3 teilt durch 8 (ermittelt die Byte Zahl)


Anmelden zum Antworten