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 #751865.




[+] la quintessence ca n'a pas de sense
Alors, voila j'ai voulu tester du code bit à bit sur le link
Ouhaa, le typade est plus rapide ici que sous wordpress.
Je me marre, le gars de lafraise fait du zele sur ces 2 millions euros
Il aurait pas du vendre non il aurait gagner plus sur 10 ans non ?
il aurait du ce faire acheter chez google LOL
pff la vie tranquille, une maison n'importe na oke tous çà.
des enfants en plus
moi si ma mashup grimpe en bourse je vais direct vivre a moutain view
ou à SF ou a NY.
pour dire y a des paysans parmit les geek mais qui sait il rebondira
peut être
a oui j'aime pas trop les t-shirt c'est moche
le lapin de la ratp qui ce coince les doigts dans la porte ...
revenons a mes moutons,
j'ai voulu essayer le code j'ai ajouter un fonction main()
est les includes
#include <stdio.h>
#include <stdlib.h>
int main()
static const char LogTable256[] =
{
0, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7
};
gcc algo3.c -o algo3
/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/../../../crt1.o: dans la fonction « _start »:
: référence indéfinie vers « main »
collect2: ld a retourné 1 code d'état d'exécution
comme je trouve pas de réponse pértinante dans google PR
si vous s'avez d'ou viens l'erreur, merci.
ps: les fautes ... j'accepte toute donnation de beschrelle, larousse,
[+] [^]Re: la quintessence ca n'a pas de sense
ps : pourquoi je trouve pas ou modifier mon password linuxfr
et pourquoi mon commentaire apparait fermé avec un +
[^]Re: la quintessence ca n'a pas de sense
En plus du Bescherelle, je te conseille un bon livre d'initiation au C....
Essaie avec des accolades....
int main(int argc, char **argv)
{
static const char LogTable256[] =
{
0, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3,
4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7
};
/* .... */
return 0;
}
[^]Re: la quintessence ca n'a pas de sense
Va falloir apprendre le C je pense, parcequ'il manque visiblement des trucs après int main()
Pour les fautes, je crois que t'es irrécupérable. Quand au fait que ton commentaire apparaisse fermé avec un [+], c'est qu'il a été modéré négativement par les autres personnes, qui l'ont trouvé "inintéressant". Et franchement, je crois qu'ils n'ont pas vraiment tort.
Bow before me, for I am root
[^]Re: la quintessence ca n'a pas de sense
Uhm, tu es C Lead Architect ?