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

DB2 Discussion :

conversion numerique vers binaire


Sujet :

DB2

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2006
    Messages : 49
    Points : 33
    Points
    33
    Par défaut conversion numerique vers binaire
    Bonjour,

    je ne suis pas habituer à travailler sous DB2 et je vais peut être poser une question qui va sembler basique mais je cherche depuis une heure et j'ai toujours pas trouvé...

    Je veux convertir en entier en binaire...
    comme par exemple 130 => 1000 0010

    j'ai essayé avec des CAST ou BINARY mais dans le meilleur des cas j'obtiens une valeur hexadécimal qui ne me parle pas trop et ne m'intéresse pas vraiment... voici un exemple de ce que j'obtiens

    46 31 46 33 46 30 34 30 34 30 34 30 34 30 34 30 34 30 34 30 34 30

    Quelqu'un aurait une solution pour cette conversion?

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut
    Cast(Entier as Int)
    ou Bigint, ou Smallint, etc.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    821
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2008
    Messages : 821
    Points : 1 084
    Points
    1 084
    Par défaut
    Je pense qu'il faut écrire une UDF pour ce faire, c'est pas très compliqué à faire.
    Une boucle avec division par 2 et récupération du reste avec MOD pour déterminer le bit.
    Si tu fais cette fonction, n'oublies pas de la poster au cas ou d'autres personnes auraient ce même besoin.

  4. #4
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2006
    Messages : 49
    Points : 33
    Points
    33
    Par défaut
    ??? je viens de tester et ça ne fais pas ce que je voulais...

    peut être ai-je mal exprimé ma demande.

    J'ai un champ numeric qui contient des entiers et je veux récupérer
    les valeurs binaires de mes entiers.

    exemple:
    99 => 0110 0011
    129 => 1000 0001

    j'ai essayé avec Binary(valeur) ou Cast(valeur as Binary) mais cela n'a rien donné... j'obtiens des valeur hexadécimal et alors que je veux du binaire.

    J'ai l'impression que ta réponse Mercure, c'est pour de l'hexa vers du numeric (en base 10)...

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Points : 1 578
    Points
    1 578
    Par défaut
    Non, c'est bien du binaire que tu obtiens mais affiché sous forme décimale pour raison de lisibilité.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Select cast(Entier as Int) as Binaire From ...
    La colonne "Binaire" ci-dessus contiendra la valeur de "Entier" convertie en binaire.

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    821
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2008
    Messages : 821
    Points : 1 084
    Points
    1 084
    Par défaut
    Je sais pas si c'est moi qui est mal compris ou non à cause de vos histoires de CASTING à tous les deux. Je proposais dans mon post précédent une UDF, la voici :

    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
    create function binaire (hexa varchar(8))
           returns varchar(64)
      language sql
      deterministic
      no external action
      Returns NULL on NULL Input
     
    Begin
       Declare wHexa varchar(8);
       Declare i int;
       Declare wResult varchar(64);
     
     
       Set wResult = '';
       Set wHexa = strip(trim(hexa), L, '0');
       Set i = 1;
       WHILE i <= length(wHexa) DO
       Set wResult = wResult Concat 
         Case SUBSTR(wHexa, i, 1)
            When '0' then '0000'
            When '1' then '0001'
            When '2' then '0010'
            When '3' then '0011'
            When '4' then '0100'
            When '5' then '0101'
            When '6' then '0110'
            When '7' then '0111'
            When '8' then '1000'
            When '9' then '1001'
            When 'A' then '1010'
            When 'B' then '1011'
            When 'C' then '1100'
            When 'D' then '1101'
            When 'E' then '1110'
            When 'F' then '1111'
            Else ''
         End;
       Set i = i + 1;
       END WHILE;
       Return wResult;
    End;
    Ainsi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select binaire(hex(130))  from sysibm.sysdummy1
    donne


Discussions similaires

  1. conversion décimal vers binaire 32 bit
    Par Oscar02 dans le forum Débuter
    Réponses: 4
    Dernier message: 11/05/2014, 02h12
  2. Conversion numerique -> binaire
    Par smarties dans le forum SQL
    Réponses: 2
    Dernier message: 24/09/2008, 09h45
  3. conversion de decimale vers binaire et vice versa
    Par Abdelkaoui dans le forum Qt
    Réponses: 1
    Dernier message: 17/04/2008, 11h53
  4. Conversion chaine en Base64 vers binaire
    Par akdmks dans le forum Langage
    Réponses: 3
    Dernier message: 05/11/2007, 16h55
  5. conversion de int vers binaire
    Par ben83 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 12/02/2007, 19h19

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