char *adresse; long i; short bit; adresse= HeapDeref(Fichier->handle); i= longueur_du_fichier * sizeof(*adresse) * 8; bit= 8*sizeof(*adresse) - 1; while (i--) { variable= peek_bit(bit ? adresse++ : adresse, bit); --bit&= 8*sizeof(*adresse) - 1; tu fais ce que tu veux avec la variable... }EDIT : c'est ce qu'on appelle un code incompréhensible :/ mais je préfère coder comme ça quand on a besoin de vitesse. D'ailleurs je suis pas sûr que TIGCC génère quelque chose de bon pour bit ? adresse++ : adresse, bit. Il faut peut-être l'aider.