Alignment



  • Hallo,
    ich habe ein kleines mathematisches Problem in einem meinem Programme.

    ich weiß im Voraus, dass Speicher, welchen ich "allokiere" n-Aligniert ist, d.h., dass die Zahl, die die virtuelle Speicherposition angibt, ohne Rest durch n Teilbar ist.
    Nun möchte ich in diesen n-Alignierten Speicher ein Objekt reintun, welches m-Aligniert werden muss. m steht hierbei auch wieder für eine ganze Zahl, und die Startposition des Speichers, in dem das Objekt liegt, muss wieder ohne Rest durch m Teilbar sein.

    Wie viel Speicher muss ich nun zusätzlich "allokieren", um zu garantieren, dass mein m-aligniertes objekt in einen n-Alignierten Speicherbereich passt?



  • Wo ist denn da das mathematische Problem? 😕

    int extra_mem = m > n ? (m - n) : (m - (n%m));
    

    🤡


Anmelden zum Antworten