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 :

Unsigned long long


Sujet :

C

  1. #1
    Membre habitué
    Inscrit en
    Novembre 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 10
    Par défaut Unsigned long long
    Bonjour,
    j'essaye de faire la resolution d'un exercice de gestion de fichier
    alors il faut que je calcule la sommes de deux nombres binaires
    je veux utiliser une variable de type unsigned long long
    parce que le programme me donne comme maximum de nombre binaire
    81 bits
    alors j'ai utilisé d'abord un compteur qui va me donner la longueur de mon nombre binaire mais la ou j'ai trouvé le probleme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     unsigned long long a;
     int c=0; 
     a = 101010101010101010101010101010101010101010;
     while(a!=0)
         {
                    a= a/10;
                    c=c+1;
         }
    il faudra qu'il me donne la longeur sur c mais lui il me donne un nombre non correct
    je vous demmande de m'aider svp
    merci

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Par défaut
    Salut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     a = 101010101010101010101010101010101010101010;
    Ceci n'est pas une représentation binaire.

    Je ne comprends pas ce que tu veux faire. Un nombre, qu'il soit écrit en base décimale, binaire, octale ou hexadécimale, reste le même nombre.
    Exemple :
    255 (décimal) = FF (hexa) = 377 (octal) = 11111111 (binaire)

    Explique plus clairement ce que tu veux vraiment faire.

  3. #3
    Membre émérite
    Avatar de Pouet_forever
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    671
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 671
    Par défaut
    Juste comme ça au passage, une variable de type unsigned long long fait (en général) 8 octets. Donc 8*8=64 bits.
    Donc pour ton 81 bits il va falloir que tu trouves autre chose...

    Le code que je t'ai fourni gère jusqu'à sizeof(int)*8, si on prends la taille d'un int qui fait 4 octets, tu pourra l'utiliser jusqu'à 32 bits mais pas plus ...

  4. #4
    Membre habitué
    Inscrit en
    Novembre 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 10
    Par défaut
    Le code que j'ai affecté à a est seulement un example .
    mais en realité il faut que je fait la conversion de deux nombres binaires vers
    le decimal et apres les additionés et apres faire la conversion du nombre(somme) vers le binaire.
    mais le probleme c'est que il me disent que l'extremité du nombre(les deux nombres en binaire) est pow(2,81) alors pour presenter
    2417851639229258349412352 nombres differents

    alors j'ai dit pourquoi pas utilisé deux variables a et b de
    type unsigned long long parce que long long est codé sur 64 bits et
    quand j'ai ajouté unsigned il me donne le double au pres de nombres positifs

    alors j'ai fait unsigned a,b;
    et aussi c qui va recevoir la sommes deja converti en binaire
    mais le probleme c'est quand je veux savoir la longureur du nombre binaire

    avec
    k = 0
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    k = 0;
    while(a!=0)
    {
     a = a / 10;
    k = k + 1 ;
    il me donne une longueur incorrect ,et pour ce programme la longueur du nombre binaire est tres importante pour faire la conversion.
    et merci d'avance

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/04/2009, 14h26
  2. Problème avec unsigned long long
    Par spiner900 dans le forum Débuter
    Réponses: 2
    Dernier message: 19/02/2009, 20h37
  3. Réponses: 1
    Dernier message: 07/05/2007, 20h12
  4. unsigned long long int
    Par salseropom dans le forum C
    Réponses: 10
    Dernier message: 21/12/2006, 22h43
  5. Réponses: 6
    Dernier message: 06/12/2005, 16h54

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