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

Scripts/Batch Discussion :

convertir binaire en décimal et inversement


Sujet :

Scripts/Batch

  1. #1
    Invité
    Invité(e)
    Par défaut convertir binaire en décimal et inversement
    Bonjour,
    existe t'il des fonctions pour convertir un nombre décimal en binaire et inversement svp ?

    Merci

  2. #2
    Membre actif
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2011
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2011
    Messages : 223
    Points : 294
    Points
    294
    Par défaut
    salut,

    voici un lien:

    http://batch.xoo.it/t1690-bat-Coneve...al-en-hexa.htm

    Bon courage.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Merci pour ta réponse !

    j'ai essayé SET BIN=101001 SET /a BIN=0%BIN% mais ça ne fonctionne pas :s

  4. #4
    Membre actif
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2011
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2011
    Messages : 223
    Points : 294
    Points
    294
    Par défaut
    imaginons que tu veux savoir ce que la valeur décimale 57 donne en binaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    @echo off
    
    setlocal enabledelayedexpansion
    
    call :BIN 57
    
    PAUSE
    exit
    
    :BIN
    SET CNombreDec=%1
    SET BIN_RETURN=
    FOR %%B IN (32768,16384,8192,4096,2048,1024,512,256,128,64,32,16,8, 4, 2, 1) DO (
    SET /a Cbit=!CNombreDec!/%%B
    SET /a CNombreDec=!CnombreDec!%%%%B
    SET BIN_RETURN=!BIN_RETURN!!Cbit!
    )
    echo !BIN_RETURN!

  5. #5
    Invité
    Invité(e)
    Par défaut
    merci beaucoup

  6. #6
    Invité
    Invité(e)
    Par défaut
    en fait j'ai parlé trop vite :s

    le décimal en binaire c'est bon mais le binaire en décimal je n'y arrive vraiment pas ...
    je ne sais vraiment pas comment me servir de SET BIN=101001 SET /a BIN=0%BIN%

    quelqu'un aurait une idée ?

  7. #7
    Membre expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Points : 3 768
    Points
    3 768
    Par défaut
    J'ai écrit ce code qui te convertit une valeurs numériques en decimal.
    Si tu as des questions n'hésite pas...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    ::::NUMERIQUE VERS DECIMAL
    ::::PAR SACHADEE
    ::::02-2013
    
    
    @echo off
    
    :::::DEFINIR LA VALEUR BINAIRE ICI:::::
    
    set num-bin=100000100
    
    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    
    cls
    set puissance2=1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768
    
    setlocal enabledelayedexpansion enableextensions
    
    :::ON DECOMPOSE LA VALEUR NUMERIQUES PAR SUBSTITUTION
    
    set num-bin=%num-bin:1=1 %
    set num-bin=%num-bin:0=0 %
    set num-bin=%num-bin:~0,-1%
    
    echo.#%num-bin%#
    
    :::ON INVERSE L ORDRE POUR AVOIR LA PLUS PETITE VALEUR EN PREMIER
    
    for %%a in (%num-bin%) do (set val=%%a
                               set num-bin-inv=!val! !num-bin-inv!)
    
    set num-bin-inv=!num-bin-inv:~0,-1!
    
    :::ON BOUCLE SUR LA VALEUR INVERSEE SI ON A 1 ON ADDITIONE
    :::L'EQUIVALENCE DE LA LISTE DES PUISSANCES 2
    
    set compteur=1
    set val=0
    for %%a in (!num-bin-inv!) do (if %%a==1 (set compteur1=1
                                              for %%b in (%puissance2%) do (if !compteur!==!compteur1! (set /a val=!val!+%%b)
                                                                                                        set /a compteur1+=1))
                                              set /a Compteur+=1)
    
    echo.&echo.RESULTAT : !val!&echo.
    
    :end
    
    endlocal
    Amicalement

  8. #8
    Invité
    Invité(e)
    Par défaut
    merci beaucoup ça marche nickel

Discussions similaires

  1. Réponses: 0
    Dernier message: 13/05/2012, 21h01
  2. Algo pour convertir un nombre binaire en décimal
    Par Eole92 dans le forum Général Python
    Réponses: 12
    Dernier message: 13/11/2011, 12h32
  3. Inverser 2 octets + convertir hexadécimal en décimal
    Par drake56 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 16/12/2009, 16h31
  4. convertir du binaire au décimal
    Par Invité(e) dans le forum C
    Réponses: 5
    Dernier message: 09/12/2009, 20h22
  5. Réponses: 6
    Dernier message: 16/01/2006, 20h33

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