[convertion confuse]
Co2_^
-
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!
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
-
Bonjour,
En quel langage? -
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ésultatlami20j@debian:~/bin/my_deb_perl$ perl bin2dec.pl 00000111 = 7 00011101 = 29 00001011 = 11 00011101 = 29 00000001 = 1 00001001 = 9 00010111 = 23
lami20j -
-
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) -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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 -
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 = 35lami20
P.S. En revanche si tu utilises à la place de bin (le nom de variable) une seule lettre tu as gagné :D -
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 -
-
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
-
-
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!-
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....
-
-
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 -
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 -
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.