salutttt tous
j'ai besoin d'aide dans un project , mon probleme que je veux lire des caractere d'un fichier mais je veux lire juste bit par bit ???
Version imprimable
salutttt tous
j'ai besoin d'aide dans un project , mon probleme que je veux lire des caractere d'un fichier mais je veux lire juste bit par bit ???
Bonjour,
Lire bit à bit depuis un fichier ? A ma connaissance, c'est impossible.
Si on veut lire caractère par caractère, il faut utiliser fgetc().
Après, il est possible de lire un bit précis dans un char assez simplement :
Code:
1
2
3
4
5
6 #include <limits.h> size_t i; unsigned char mask = 1; for(i = 0; i < CHAR_BIT /* nombre de bits dans le type char (souvent 8) */, ++i) { printf("bit %d du caractère %c : %d\n", i, car, car & ( 1 << i)); }
merci pour la reponse mais pour ecrire bit par bit ou 9 bits dans un file ???
Même réponse que pour la lecture, l'unité de base pour écrire est l'octet (8 bits) et ses multiples
Si tu veux la valeur de chaque bit, tu peux jouer sur les décalages et les masques pour obtenir la valeur en entier de chaque octet de ton entier de base.
Tu découpes ainsi ton entier en 8 valeurs entières et tu as les données bit à bit.
vous pouvez me donner un exemple ???
On ne peut pas. C'est 8 ou 16.
Par exemple : 0x180 = 00000001 10000000
soit, en convention 'réseau' (MSB en tête)
01 80 en 16-bit
00 00 01 80 en 32-bit
Sinon, il faut écrire les bits un par un dans un octet. C'est pas économique...
01 01 00 00 00 00 00 00 00
Ou alors, il faut décoreller le format du flux de bits du format du flux d'octets. Que veux-tu faire exactement ? (HDLC ?)