• [^] # Re: Tanenbaum était un visionnaire ...

    Posté par . En réponse à la dépêche Les UltraSparc sous GPL. Évalué à 1.

    je ne pige pas pourquoi tu inverses les bits au sein d'un même octet, je n'ai jamais vu ça.

    Justement, c'est bien là la principale différence entre Big Endian et Little Endian. C'est l'ordre des bits du bus de données (physiquement, sur les broches de la puce) qui est inversé :
    - en little endian, le bit 0 du bus est le bit de poids faible, le bit 31 est le bit le plus significatif (1),
    - en big endian, c'est le bit 0 qui est le bit de poids fort.

    Ainsi, on représente généralement les bus big-endian [0..31] et les bus little endian [31..0], en notant toujours le bit de poids fort à gauche, dans le sens naturel de lecture.
    Mais du coup, l'ordre des octets dans la mémoire est également inversé, car on parcourt toujours les adresses dans le sens croissant : l'octet qui contient le bit 0 sera toujours placé à une adresse plus basse que celui qui contient le bit 31.

    Voici une explication assez claire :
    http://membres.lycos.fr/cgiguere/vdn/vdn71/vdn71.htm
    notamment le passage sur UNIX, XINU et NUXI ...

    (1) on utilise souvent les notations MSB (Most Significant Bit) et LSB (Least Significant Bit).