Création
d'entreprise
Posez votre question Signaler

Ou exclusif en java [Résolu]

nour_master, - Dernière réponse le 24 nov. 2008 à 22:52
Bonjour,j cherche une methode en java qui me permet de faire un ou exclisif des chaines binaire:c.a.d
a partir des chaines " 01100001" XOr "01000110 avoir " 00100111" les chaine sont de int
avec l'operateur ^ c marche pas.
c qlq un peut m'aide.merci
Lire la suite 

Ou exclusif en java »

Suggestions
9 réponses
Réponse
+1
moins plus
En fait ya plus simple.
parseInt peut prendre en deuxième paramètre la base du nombre :-)
Ici on veut de la base 2:

System.out.println(Integer.parseInt("11", 2)); //Affiche 3
fiddy- 24 nov. 2008 à 12:05
Ah oui, beaucoup plus simple. Faudrait que je me remette au Java. ^^.
On va dire, que c'était si le compilateur oubliait comment fonctionne la base 2, il resterait toujours la fonction ;).
Bien vu.
Cdlt
kilian- 24 nov. 2008 à 14:19
:-)

En fait je savais pas que ça existait en Java. Mais comme ça existe en python, je me suis dit qu'il y avait une chance de trouver la même chose, et ça a pas raté :-)
nour_master- 24 nov. 2008 à 22:52
merci. c'est ok. c'est ce que je cherche .merci
Ajouter un commentaire
Réponse
+0
moins plus
Je comprends pas quand tu dis à partir des chaînes qui sont des int.
Soit c'est une chaîne (et ça explique pourquoi ça marche pas), soit ce sont des int, mais pas les deux à la fois.
int a=5;
int b=6;
int c=a^b; //ou exclusif

Cdlt
nour_master- 24 nov. 2008 à 00:17
nnle problem c'que je veut faire un prog de cryptograghie donc je cherche le code binaire d'une chaine "String" je fais des permutation et en fin je cherche le Xor de ma chaine et de la cle .je sais que le XOR se fait sur int alors j'ai convertit ma chaine en int .
Ajouter un commentaire
Réponse
+0
moins plus
Eh bien dans ce cas, tu réalises une fonction qui convertit un String en binaire.
Ta fonction prendra en argument le String. Tu convertis tout d'abord le String en int, via la classe Integer.
Ensuite, tu parcours de la droite vers la gauche chacun des chiffres en multipliant par 2 puissance (son placement).
Ainsi tu vas reconstituer l'équivalent binaire.
Et tu renvois cette valeur là.
Et après tu pourras faire le Xor tranquillement.
Cdlt
nour_master- 24 nov. 2008 à 00:41
j'ai pas bien compris .j'ai converti la chaine en int par la methode "Integer.parseInt()" mais le xor ne marche pas comme je veut? y il une autre methode ??
merci
Ajouter un commentaire
Réponse
+0
moins plus
Comment ça il ne marche pas comme tu veux ?
Si tu veux traiter les String en binaire, faut faire comme je t'ai dit. Tu convertis d'abord en int via Integer.parseInt().
A cette étape tu auras 101000 (mais ça sera le nombre décimal). Il faut donc que tu le convertisses en équivalent binaire. Pour ça ça donne : 0 + 0*2 + 0*4 + 1*8 + 0*16 + 1*32 = 40.
Et là, tu pourras faire ton Xor.
Après, il faudra que tu fasses le travail inverse. Que tu convertisses en String (qui contient le binaire).
Cdlt
Ajouter un commentaire
Ce document intitulé « ou exclusif en java » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?