IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Taille max d'un tableau ?


Sujet :

C

  1. #21
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par shinkyo
    Allocation dynamique, tu pourrais préciser s'il te plait ?
    Je fais en général de la programmation objet (Java, C#), et en général je ne gère pas des tableaux aussi grands.
    Le langage C me perturbe un petit peu à vrai dire...
    Je rêve. Tu ne connais pas le C et tu prétends vouloir bricoler des tableaux monstrueux comme ça ?

    Il faut s'attendre à une nouvelle catastrophe internationale ? Un bombardement intempestif de l'Iran par exemple (Oups, un missile de 50 kT a tête multipes sur Téhéran, désolé, je l'ai pas fait exprès ...)

    Laisse tomber et commence par apprendre le C avant de déclencher la troisième guerre mondiale...


  2. #22
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par shinkyo
    @Emmanuel Delahaye> Exact, le 255*2555*255 était bien une erreur de frappe de ma part.
    C'est 255*255*255.
    Ah, dommage... le missile est tombé sur les terminaux pétroliers...

  3. #23
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 128
    Par défaut
    J'ai pas demandé à faire ce truc en langage C. Je n'ai même rien prétendu du tout.
    Ca m'a été imposé dans une matière à la fac...je m'en serai bien passé, personnellement.
    Et puis chacun son truc hein, pas besoin de monter sur ses grands chevaux pour si peu.

    Mais, merci quand même du compliment.

  4. #24
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par seriousme
    Ou "long long int" non supporté par tous les compilos.
    ... C99. A part gcc, Comeau et icc, je n'en connais pas d'autre...

  5. #25
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Gruik
    Oui, ça fait longtemps que les int sur les PC sont sur 4 octets
    Rien à voir. Sur mon bon vieux Borland C 3.1, ils sont toujours de 16 bits... (x86 mode réel). Et je te rappelle que c'est comme ça que démarrent tous les PC. En mode réel avec de int de 16-bits...

    Si un jour tu écris ton BIOS en C (pas très portable...) ou le bootstrap de ton super OS perso de la mort qui tue, tu as intérêt à t'en souvenir...

    Idem si tu fais de l'embarqué avec des cartes PC/104...

  6. #26
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Mayti4
    [/list]Pas sur un processeur 32bits.
    [/i]
    Ce sont le valeurs minimales garanties par le langage C. Ces valeurs sont portables. Il peut exister des valeurs supérieures pour une implémentation donnée (void <limits.h> de l'implémentation), mais ce n'est plus portable.

  7. #27
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Swoög
    ça c'est pour du 16bits
    Que de bêtises ce soir... Un vrai festival.

    C'est pas 'pour du 16-bit'. Ce sont les valeurs minimales garanties par le langage. Point.

  8. #28
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 128
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    Mauvais raisonnement. La taille de l'image n'a rien à voir avec la taille de l'élément du tableau.

    La couleur (RVB) est sur 24 bits (3 x 8). La valeur max est donc 0xFFFFFF soit 16777215 pour un blanc. Alors il faut unsigned long. int est trop petit.
    Un élément du tableau représente le nombre d'occurrences d'une couleur.
    Si j'ai une image de la taille d'un pixel, j'aurai dans le tableau un 1 à l'indice de la couleur.

    Au passage, la fonction "Editer" c'est pas du luxe.

  9. #29
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par shinkyo
    Un élément du tableau représente le nombre d'occurrences d'une couleur.
    Si j'ai une image de la taille d'un pixel, j'aurai dans le tableau un 1 à l'indice de la couleur.
    OK. Vu, c'est un histogramme, OK.

    Reprenons.

    Une couleur est codée en 8 bit (0-255) soit 256 valeurs.

    RVB : 256 x 256 x 256 couleurs soit 0x1000000 cases. OK
    Admettons que la taille max d'un objet soit de 0xFFFFFFFF, ca nous fait un maximum de 255 bits par element. Si on prend un unsigned long (32 bits), et qu'on a une raie monochrome, celle-ci peut accepter 0xFFFFFFFF pixels.

    Pour 512 x 512 (0x40000 pixels), aucun problèmes.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Taille max d'un tableau
    Par selmani300 dans le forum C
    Réponses: 5
    Dernier message: 26/04/2009, 16h16
  2. taille Max de string dans un tableau
    Par maxos75 dans le forum ASP
    Réponses: 3
    Dernier message: 01/08/2008, 21h31
  3. creer un tableau sans lui imposer une taille max
    Par christianf dans le forum C#
    Réponses: 7
    Dernier message: 05/05/2008, 19h50
  4. Réponses: 11
    Dernier message: 18/11/2007, 18h41
  5. taille max tableau et modification
    Par belgaran dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 11/08/2006, 23h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo