Code : La quintessence des algorithmes bit à bit
Posté par Ontologia (page perso, ). Modéré le 07 septembre 2006.
Jouer avec les bits lorsqu'on code est souvent un bonheur intense tant les possibilités sont larges malgré les axiomes 8/16/32/64 bits dont on dispose sur les processeurs (et donc) dans les langages.
De nombreux "grands maîtres", dont Brian Kernighan lui-même ont écrit de nombreux algorithmes utilitaires effectuant des travaux sur les champs de bits que sont nos mots mémoires.
On trouvera donc dans l'article cité, qui des comptage de bit (à 1 ou 0), des tests de parités parallélisables, des rotations de bits, des modulos, des log base 2 (et donc des log base n). L'article prévient en introduction que les problèmes de cache, bande passante mémoire doivent être pris en compte dans l'utilisation de l'algorithme sur l'architecture libre.
Un bien beau texte.
NdM : les extraits de code sont du domaine public d'après l'introduction du document.
De nombreux "grands maîtres", dont Brian Kernighan lui-même ont écrit de nombreux algorithmes utilitaires effectuant des travaux sur les champs de bits que sont nos mots mémoires.
On trouvera donc dans l'article cité, qui des comptage de bit (à 1 ou 0), des tests de parités parallélisables, des rotations de bits, des modulos, des log base 2 (et donc des log base n). L'article prévient en introduction que les problèmes de cache, bande passante mémoire doivent être pris en compte dans l'utilisation de l'algorithme sur l'architecture libre.
Un bien beau texte.
NdM : les extraits de code sont du domaine public d'après l'introduction du document.
Bit Twiddling Hacks (2107 hits)
> Lire la dépêche (45 commentaires, moyenne: 3,3).
Vous avez demandé le commentaire #751697.




bonheur
> Jouer avec les bits est souvent un bonheur intense tant les possibilités sont larges
Les big-endian procurent encore plus de plaisir !
[^]Re: bonheur
Enlarge your possibility.
Attendez, je retrouve la photo.
[^]Re: bonheur
cherche plus je l'ai... http://www.tatabotata.com/images/enlarge.jpg
merci google image
[^]Re: bonheur
Ca reste à vérifier. Pour infos les sexologues distinguent 3 formes de penis :
- La batte de baseball (big endian), plus large au bout qu'à la base
- La tour Eiffel (little endian), plus étroite au bout qu'à la base
- Le champignon (bon, là il n'y a pas d'équivalent informatique)
Après pour ce qui est de savoir s'il y a une forme "optimale"...
[^]Re: bonheur
J'imagine que ca dépend si le/la partenaire aime le sport, le tourisme ou Mario...
[^]Re: bonheur
A noter qu'il n'y a pas que 2 possibilités pour l'endianess... y a PDP aussi :)
http://www.idiap.ch/~formaz/doc/glibdocs/glib-byte-order-mac(...)
[^]Re: bonheur
Moi ce que je préfère, c'est le terme bytesexual :-)
http://fr.wikipedia.org/wiki/Endianess
Haypo
[^]Re: bonheur
À noter aussi que la série des mini-ordinateurs PDP, avant le PDP-11, avait des mots de taille non multiple de 8. Un entier (int) n'avait pas 32 bits mais plutôt... (par exemple) 18 bits :-) C'est plus marrant hein. Surtout quand on veut écrire du texte !
http://fr.wikipedia.org/wiki/RADIX-50
(base 40 tant qu'à faire hein, pour utiliser du modulo & co)
Tiens, au passage, un truc qui m'a bien fait marrer :
http://fr.wikipedia.org/wiki/UTF-EBCDIC
UTF-8, vous connaissez, mais EBCDIC ? « L'Extended Binary Coded Decimal Interchange Code (EBCDIC) est un mode de codage des caractères sur 8 bits créé par IBM à l'époque des cartes perforées » UTF-EBCDIC c'est donc retour vers le futur (Unicode sur carte perforée ? non mais presque).
Haypo qui parle de choses qu'il n'a jamais connues