page nummer berechnen

  • wie dividiere ich 2 hexadezimale zahlen?
    kann mir das ja überhaupt nicht merken ohne taschenrechner die ganzen zahlen....


    find nirgendwo ne erklärung dazu :/ braucht man das eigentlich? schon oder?


    laut einem bsp:


    Virtuelle Adresse (001DA472) Basis 16
    Pagegröße (2000) Basis 16


    PageNummer = virtuelle Adresse / Pagegröße = 1DA472 / 2000 = ED Basis 16


    Wie komm ich da bitte ohne Taschenrechner drauf??

  • das sollte eigentlich deine frage beantworten http://www.informatik-forum.at….php?p=636628&postcount=7


    0x1DA472 = 0001 1101 1010 0100 0111 0010
    2 = 0010
    7 = 0111
    4 = 0100
    A = 1010
    D = 1101
    1 = 0001


    0x2000 = 10 0000 0000 0000


    wir haben bei der pagegröße 13 nullen das bedeutet wir gehen bei der virtuellen adresse 13 stellen von rechts nach links
    0001 1101 101|0 0100 0111 0010


    und darum ist 0001 1101 101 unsere pagenummer. das wandeln wir wieder nach hex und fertig. (von rechts nach links und immer 4 bit-blöcke)
    0000 1110 1101
    1101 = D
    1110 = E