Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1206 connectés 

  FORUM HardWare.fr
  Programmation
  C

  matrice binaire

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

matrice binaire

n°781740
Carol Poul​in
Posté le 29-06-2004 à 18:56:31  profilanswer
 

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:

Code :
  1. TypeBinaire Tableau[25];

mood
Publicité
Posté le 29-06-2004 à 18:56:31  profilanswer
 

n°781742
Taz
bisounours-codeur
Posté le 29-06-2004 à 18:58:11  profilanswer
 

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

n°781747
Osama
Posté le 29-06-2004 à 19:09:54  profilanswer
 

Commence par utiliser un vrai langage, tant il est vrai que le C cai le mal :o

n°781751
m0rbac
Posté le 29-06-2004 à 19:25:29  profilanswer
 

Le seul moyen que je connaisse pour ça consiste à utiliser un unsigned char pour 8 bits (un conversion binaire-décimal en fait).

n°781757
Joel F
Real men use unique_ptr
Posté le 29-06-2004 à 19:38:00  profilanswer
 

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 :-/

n°781763
m0rbac
Posté le 29-06-2004 à 19:43:02  profilanswer
 

Code :
  1. #include <stdio.h>
  2. #define getbool(i) ((a[i/8]&(1<<(7-i%8)))?1:0)
  3. int main(int argc, char *argv[])
  4. {
  5.     unsigned char a[2] = { 105, 34 }; // correspond a [01101001 00100010]
  6.     for (int n = 0; n < 16; ++n) printf("%d", getbool(n));
  7.     return 0;
  8. }


Message édité par m0rbac le 29-06-2004 à 20:12:28
n°781765
Taz
bisounours-codeur
Posté le 29-06-2004 à 19:47:25  profilanswer
 

CHAR_BITS BORDEL :o

n°781767
Taz
bisounours-codeur
Posté le 29-06-2004 à 19:48:06  profilanswer
 

et faudrait apprendre l'hexa bordel :o

n°781784
m0rbac
Posté le 29-06-2004 à 20:22:24  profilanswer
 

Taz a écrit :

CHAR_BITS BORDEL :o
et faudrait apprendre l'hexa bordel :o


Tu peux préciser stp !? :??:

n°781788
Taz
bisounours-codeur
Posté le 29-06-2004 à 20:26:13  profilanswer
 

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"

mood
Publicité
Posté le 29-06-2004 à 20:26:13  profilanswer
 

n°781798
m0rbac
Posté le 29-06-2004 à 20:32:15  profilanswer
 

Bon oui d'accord, vu comme ça...  :whistle:

n°781810
Taz
bisounours-codeur
Posté le 29-06-2004 à 20:41:45  profilanswer
 

y a pas d'autre manière de voir ça

n°785457
pospos
Posté le 03-07-2004 à 00:27:47  profilanswer
 

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


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  matrice binaire

 

Sujets relatifs
lire dans un fichier binaire en hexa (débutant)algo du calcul formel du determinant matrice symetrique pas positive
Conversion d'un chiffre décimal en binaire en C ?problème de conversion d'un hexadécimal en binaire !
[Matlab] comment sauvegarder une matrice en .txt avec mise en formeCalcul de vecteur propre d'un matrice asymetrique
binaire en c++Comment stocker une matrice dans un tableau ??
comment envoyer du binaire[VB] Connection HTTP pour récupérer un fichier binaire
Plus de sujets relatifs à : matrice binaire


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR