Ou exclusif en java
Résolu/Fermé
nour_master,
-
23 nov. 2008 à 03:21
nour_master Messages postés 10 Date d'inscription mardi 11 novembre 2008 Statut Membre Dernière intervention 17 décembre 2008 - 24 nov. 2008 à 22:52
nour_master Messages postés 10 Date d'inscription mardi 11 novembre 2008 Statut Membre Dernière intervention 17 décembre 2008 - 24 nov. 2008 à 22:52
A voir également:
- Java ou exclusif
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Java décompiler - Télécharger - Langages
- Java runtime - Télécharger - Langages
4 réponses
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 527
24 nov. 2008 à 11:45
24 nov. 2008 à 11:45
En fait ya plus simple.
parseInt peut prendre en deuxième paramètre la base du nombre :-)
Ici on veut de la base 2:
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
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
23 nov. 2008 à 11:43
23 nov. 2008 à 11:43
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.
Cdlt
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
Messages postés
10
Date d'inscription
mardi 11 novembre 2008
Statut
Membre
Dernière intervention
17 décembre 2008
2
24 nov. 2008 à 00:17
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 .
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
24 nov. 2008 à 00:26
24 nov. 2008 à 00:26
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
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
Messages postés
10
Date d'inscription
mardi 11 novembre 2008
Statut
Membre
Dernière intervention
17 décembre 2008
2
24 nov. 2008 à 00:41
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
merci
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
24 nov. 2008 à 00:49
24 nov. 2008 à 00:49
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
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
24 nov. 2008 à 12:05
On va dire, que c'était si le compilateur oubliait comment fonctionne la base 2, il resterait toujours la fonction ;).
Bien vu.
Cdlt
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é :-)
24 nov. 2008 à 22:52