[convertion confuse]

Co2_^ -  
 Co2 -
lu!

voila j'ais éxécuté un XOR sur deux series de binaires et maintenant j'aimerais maitre se nombre:00000111 00011101 00001011 00011101 00000001 00001001 00010111 en decimal.

Est-ce possible?:s:s

ty!

12 réponses

  1. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    Bonjour,

    En quel langage?
    0
  2. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    voilà ce que ça donne en kanji
    #! /usr/bin/perl
    #
    use warnings;use strict;
    
    sub bin2dec {
      return sprintf("%4.f",unpack("N",pack("B32",substr ( "0" x 32 . shift,-32))));
    }
    
    my $bin = '00000111 00011101 00001011 00011101 00000001 00001001 00010111';
    
    foreach (split /\s+/,$bin){print "$_ = ",bin2dec($_),"\n"}
    
    Résultat
    lami20j@debian:~/bin/my_deb_perl$ perl bin2dec.pl
    00000111 =    7
    00011101 =   29
    00001011 =   11
    00011101 =   29
    00000001 =    1
    00001001 =    9
    00010111 =   23
    
    lami20j
    0
  3. Co2_^
     
    ok merci, je vais voir ce que je peux faire avec ca.
    0
  4. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    Et la version en python (qui, bien que brève, ne conteste pas l'élégance du kanji):
    bin="00011101 00001011 00011101 00000001 00001001 0010111"
    bin=bin.replace(" ", "")
    print int(bin,2)
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    un jour je vais commencer aussi avec python ;)

    #! /usr/bin/perl
    #
    use warnings;use strict;
    
    $_ = '00000111 00011101 00001011 00011101 00000001 00001001 00010111';
    
    for(split){s/^/0b/;print eval,"\n"}
    lami20j
    0
  7. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Re,

    petite statistique :D

    lami20j@debian:~/bin/my_deb_perl$ cat vider
    #! /usr/bin/perl
    #
    use warnings;use strict;
    
    my $py ='bin=bin.replace(" ", "")print int(bin,2)';
    my $pe = 'for(split){s/^/0b/;print eval,"\n"}';
    
    print "nbr_char \$py = ", length($py),"\n";
    print "nbr_char \$pe = ", length($pe),"\n";
    
    lami20j@debian:~/bin/my_deb_perl$ perl vider
    nbr_char $py = 40
    nbr_char $pe = 35
    
    lami20

    P.S. En revanche si tu utilises à la place de bin (le nom de variable) une seule lettre tu as gagné :D
    0
  8. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    Ma version des faits (après une petite correction):
    prout@tourte:~/Desktop$ cat vider #!/usr/bin/python py ='print int(bin.replace(" ",""),2)' pe ='for(split){s/^/0b/;print eval,"\n"}' print "nb_char py = %d" % len(py) print "nb_char pe = %d" % len(pe) prout@tourte:~/Desktop$ python vider nb_char py = 32 nb_char pe = 34 
    
    0
  9. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    na!
    0
    1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
       
      Re,

      tu as gagné? Félicitations!

      Tu sais très bien que j'ai plaisanté.

      En revanche tu es sûr du résultat?!
      Bien sûr en me posant la même question.

      Puisque d'après ce que je vois tu elimines les espaces en obtenant une longue chaîne de 0 et 1 et ensuite tu fais la conversion, tandis que mon script sépare en fonction d'espaces et convertit les petites entités en décimal.

      lami20j
      0
      1. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526 > lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention  
         
        Tu sais très bien que j'ai plaisanté.

        Voui bien sûr ;-)

        Je vois qu'on a pas eu la même démarche pour la conversion, mais voui en python, je supprime les espaces et je converti tout le binaire en décimal directement. Et ça devrait fonctionner vu le gros tas de chiffres qu'il me recrache :-)
        0
  10. Co2_^
     
    un dernier renseignement,

    mot1=01100110 01101111 01110010 01101101 01110101 01101100 01100101

    mot2=01100011 01110010 01111001 01110000 01110100 01100101 01110010

    XOR(mot1/mot2)=>00000111 00011101 00001011 00011101 00000001 00001001 00010111 ??????mon XOR est-il correct?

    je ne trouve pa la formule pour le aire directement j'ais du me taper tout à la main, ce qui peut fausser les résultats!
    0
    1. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
       
      Salut,

      Voici un petit code en python qui te permettra de faire ça:
      #!/usr/bin/python
      
      import sys
      a="01100110 01101111 01110010 01101101 01110101 01101100 01100101"
      b="01100011 01110010 01111001 01110000 01110100 01100101 01110010"
      
      print a
      print "xor"
      print b
      print "="
      a=a.replace(" ","")
      b=b.replace(" ","")
      
      # Le xor
      c=int(a,2) ^ int(b,2)
      
      #Affichage binaire:
      
      i=63
      while i>=0:
              if c & (1<<i):
                      sys.stdout.write("1")
              else:
                      sys.stdout.write("0")
              if not i%8:
                      sys.stdout.write(" ")
              i-=1
      

      J'ai pas le temps de l'expliquer (ferai ça ce soir ou demain), j'espère qu'il est juste....
      0
  11. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Re,

    Je crois qu'on doit revenir à ton problème. Tu t'es perdu dans les messages de kilian et moi, mais tu n'as toujours pas repondu à la question de kilian.

    En quel langage?

    lami20j
    0
    1. Co2
       
      heuu...html sa te vas?!

      je suis un innicié il ne faut pa trop m'en demander...mais je veux bien apprendre:)!
      0
  12. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Re,

    en ce cas je crois que tu dois commencer avec ça
    comment debuter quel langage

    et pour Xor regarde ici
    https://fr.wikipedia.org/wiki/XOR

    lami20j
    0
  13. Co2
     
    ui docn tu as ma reponse language HTML !

    sinon j'aimerais bien savoir me servir du logiciel python, en + je crois qu'il est sur mon ordi.
    0