matrice binaire - C - Programmation
Marsh Posté le 29-06-2004 à 18:58:11
tu peux déjà utiliser des unsigned char pour gagner un peu, mais tu consomme toujours 8x trop. après ilf aut que mettes les mains dans le cambouin pour stocker 8 chiffres par char
Marsh Posté le 29-06-2004 à 19:09:54
Commence par utiliser un vrai langage, tant il est vrai que le C cai le mal
Marsh Posté le 29-06-2004 à 19:25:29
Le seul moyen que je connaisse pour ça consiste à utiliser un unsigned char pour 8 bits (un conversion binaire-décimal en fait).
Marsh Posté le 29-06-2004 à 19:38:00
Fait toi un tableau d'unsigned char de la bonne taille
(ex 15 valeurs binaires => 2 char) et utilise de soperations de masquages pr recuperer le bon element.
En C++, ca se fait en 10 mn :-/
Marsh Posté le 29-06-2004 à 19:43:02
Code :
|
Marsh Posté le 29-06-2004 à 20:22:24
ReplyMarsh Posté le 29-06-2004 à 20:26:13
http://www.dinkumware.com/manuals/ [...] imits.html
un char ne fais pas forcément exactement 8bits, il peut en faire plus (y a pas mal de processeur ou la plus petite unité addressable fais 32bits par exemple)
sizeof char == 1 byte, byte dans le sens "plus petite unité adressable" et pas dans le sens "octet"
Marsh Posté le 03-07-2004 à 00:27:47
un module Perl de manipulation de vecteurs de bits, avec une librairie utilisable directement en C (sans Perl):
http://search.cpan.org/src/STBEY/Bit-Vector-6.3/
et normalement c'est bien portable comme truc, et aussi optimisé que possible
Marsh Posté le 29-06-2004 à 18:56:31
Je veux créer une matrice de booléen. Alors je pourrais créer un tableau d'entier avec des 0 et des 1, mais voila, le type int est gourment en mémoire pour seulement un bit de donnée il prend 32 bits. Je voudrais savoir s'il existe un type qui me permet de mémoriser et d'accéder à chaque bit indépendamment avec un tableau du genre: