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 :

conversion char vers bin puis vers dec


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 31
    Par défaut conversion char vers bin puis vers dec
    Bonjour à tous,

    Je tiens à tous vous remercier, ce forum et génial et les personnes qui y sont inscrites ont résolues plusieurs de mes problème ici.

    Voila mon nouveau problème j'ai en entrée un char '00001101' par exemple, ce que je voudrais au final c'est l'afficher en décimale "13" or je n'arrive pas à convertir cette entrée "char" pour y arriver.

    Si quelqu'un à des idées je suis preneurs mes amis.
    Merci d'avance.

  2. #2
    Membre chevronné
    Homme Profil pro
    Cadre informatique
    Inscrit en
    Avril 2013
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Cadre informatique

    Informations forums :
    Inscription : Avril 2013
    Messages : 183
    Par défaut
    Ton char à convertir est bien de taille fixe?
    Si c'est le cas, tu peux essayer de passer par:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    #define <math.h>
     
    char val_bin[9];
    int val_dec=0;
     
    int i;
    for(i=0; i<9; i++)
    {
         val_dec += val_bin[i]*pow(2,i);
    }
    Bon, après je ne suis pas un pro, mais je pense que ça peut te donner une bonne idée de départ

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 31
    Par défaut
    je vais essayer.

    je vous tiens au courant si ça marche.
    Merci

  4. #4
    Membre expérimenté Avatar de moins1
    Homme Profil pro
    Autre
    Inscrit en
    Février 2013
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Autre
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2013
    Messages : 85
    Par défaut
    T'as juste à boucler chaque bit et à "shifter" les valeurs par la position. Ça évite math.h.

    Si ton tableau est sous cette forme (chaîne):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    for(i = 0, s = 7; bin[i]; i++, s--)
    {
        tot += (bin[i] - '0') << s;
    }
    Si c'est des petit entier ton tableau alors on a pas besoin de faire (bin[i] - '0').

    Ça aurait été mieux si tu nous avais montré ce que t'as fais, mais bon!


  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 31
    Par défaut
    Je vous explique, au tout début j'ai un fichier texte contenant plusieurs char "0" et "1" par exemple 011111111111111100000011010101000010101101010.
    La première opération à consister à découper ce fichier de tel sorte d'avoir un retour à la ligne tout les 24 caractères.
    Ensuite, je redécoupe la ligne en trois parties de tailles différentes pour afficher

    "nom" à "cpt" est de valeur "val_reg".

    par exemple:

    001000110100101111011101

    TRCAL à Cpt = 00110100 est de Valeur = 101111011101
    sachant que "nom" est sur 4 caractères, cpt sur 8 et val_reg sur 12.
    Ce que je voudrais faire c'est juste prendre cpt et le convertir en décimale, dans le cas ci-dessus de "00110100" à "52".
    Mais j'ai beau me creusé la tête aucune solution ne me viens à l'esprit.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 31
    Par défaut
    En fait je me suis peut être mal exprimé ce n'est pas une conversion de char vers bin mais plutot que le compilateur crois que ce char est un bin.
    Je sais j'ai du mal à décrire ce que je veux (milles excuses).

  7. #7
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Puisque ton char est '0' ou '1', il te suffit de faire un (c -'0')<<position pour le convertir l'entier correspondant. (pour peu que position soit bien un int)

    La raison est que les chiffres sont des caractères de valeurs successives ('1'-'0'==1).

Discussions similaires

  1. Réponses: 0
    Dernier message: 25/02/2013, 11h19
  2. [Flex4] Transfert variables PHP vers FLASH puis vers fichier php
    Par funcinema5 dans le forum Flex
    Réponses: 0
    Dernier message: 12/10/2010, 17h36
  3. Access vers Excel puis vers PDF
    Par adelsunwind dans le forum IHM
    Réponses: 7
    Dernier message: 09/05/2009, 07h36
  4. [FORMULAIRE] Vers Excel puis Vers Email
    Par Fanows dans le forum VBA Access
    Réponses: 3
    Dernier message: 12/02/2009, 11h01
  5. [Débutante][XSL-FO]Flux XML vers HTML puis vers PDF
    Par norkius dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 03/05/2006, 14h29

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