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

SAP Discussion :

[ABAP] Convertir nombre decimal en binaire


Sujet :

SAP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 25
    Points : 23
    Points
    23
    Par défaut [ABAP] Convertir nombre decimal en binaire
    Bonjour,

    Je souhaiterai effectue la comparaison suivante en ABAP mais je ne connais pas les fonctions a utiliser.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if ( toBinary(i)&"10000" == "10000" ) {
      var1='*';
    } else {
      var1=XXXX;
    }
    En clair, la representation binaire du nombre decimal "i" multiplie par le nombre binaire "10000" doit me rendre un resultat que je souhaite comparer a un autre nombre binaire. Deux solutions sont a prevoir, soit le retour de la multiplication est "00000", soit "10000"...

    Merci de vos reponse.

  2. #2
    Membre confirmé

    Homme Profil pro
    Indépendant
    Inscrit en
    Juin 2002
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Indépendant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2002
    Messages : 540
    Points : 607
    Points
    607
    Par défaut
    Bonjour,
    Ce que tu tentes de faire consiste en une simple vérification de la parité d'un décimal.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    DATA: j TYPE i.
    
    j = i MOD 2.
    IF  j = 0 " Pair.
        "Alors.
    ELSE.
       " Sinon.
    ENDIF.
    Fondateur Alien6 : Prescriptive Analytics & Machine Learning Software

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 25
    Points : 23
    Points
    23
    Par défaut
    Merci de la reponse. J'avais pense a la solution mais il est vrai que mon message precedent n'etait pas tres precis: mes excuses...

    Voici donc le code que je souhaite appliquer:
    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
      if ( i & 16 = 16 )
        var1='*'
      else
        var1=xxx
      endif
    
      if ( i & 8 = 8 )
        var2='*'
      else
        var2=p0001-btrtl
      endif
    
      if ( i & 4 = 4 )
        var3='*'
      else
        var3=yyy
      endif
    
      if ( i & 2 = 2 )
        var4='*'
      else
        var4=zzz
      endif
    
      if ( i & 1 = 1 )
        var5='*'
      else
        var5=www
      endif
    Sachant que cette methode est normalement valide en C, je ne sais pas si cela peu etre applicable en ABAP.

    Pourrais tu me confirmer cela?
    Y'a t il une fonction qui convertisse le decimal et binaire?

    Merci de ton aide.

  4. #4
    Membre confirmé

    Homme Profil pro
    Indépendant
    Inscrit en
    Juin 2002
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Indépendant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2002
    Messages : 540
    Points : 607
    Points
    607
    Par défaut
    Je ne connais pas les binaires en ABAP, les plus petits types à ma connaissance sont les octets (b) et j'imagine que tu parles d'entiers (i codés sur 4 octets).

    La question devient donc : comment caster 4 octets sur un seul ? ais-je bien compris ?

    Voir aussi dans la doc ABAP (Compute BIT-AND) mais je ne vois pas de fonctions dédiées. en fait, en utilisant MOVE, les règles de conversions par défaut vont êtres appliquées.

    If the content is assigned to the same data type, it is not converted when it is transferred. If it is not assigned to the same data type, the value of the integer is converted into the internal format i, b, s. If the value range of data type b or s is exceeded, a handleable exception occurs.
    Ludo
    Fondateur Alien6 : Prescriptive Analytics & Machine Learning Software

Discussions similaires

  1. Convertir des nombres (hexadecimal, decimal, octal, binaires)
    Par AASProni dans le forum Codes sources à télécharger
    Réponses: 2
    Dernier message: 19/05/2014, 17h39
  2. convertir nombre decimal en chiffre
    Par meri_mima dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 22/10/2009, 17h56
  3. [FAQ] Comment convertir un nombre entier en binaire ?
    Par c-candide dans le forum Contribuez
    Réponses: 3
    Dernier message: 07/08/2009, 22h22
  4. convertir un nombre decimal en heure
    Par missamissi dans le forum MATLAB
    Réponses: 7
    Dernier message: 06/05/2009, 13h43
  5. convertir nombre en binaire
    Par chris069 dans le forum MATLAB
    Réponses: 6
    Dernier message: 16/04/2009, 16h24

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