Complément à 1 en Java [Résolu]

Messages postés
58
Date d'inscription
mercredi 13 octobre 2004
Dernière intervention
13 novembre 2005
- - Dernière réponse : zeldoi5
Messages postés
58
Date d'inscription
mercredi 13 octobre 2004
Dernière intervention
13 novembre 2005
- 19 avril 2005 à 15:13
Bonjour tout le monde, me revoici (et avec mes questions .....)

Voilà le titre est assez explicite : comment puis je faire un complément à un en Java.
En effet pour calculer des adresses LAN à partir de l'IP et du Netmask (pour avoir l'Ip de fin du LAN je dois faire : IPFin = AdIP & [(NetMask complément é à 1)-1]

Alors comment je peux faire pour complémenter à un celui ci?

D'ailleurs puis je travailler directement avec les chiffres de l'IP ? ex. si mon IP est : A.B.C.D avec A,B,C et D de chiffres de 0 à 255 et mon Net masque de la même sorte X.Y.Z.T : puis-je faire le ET Logique entre A et X par exemple sans convertir A ou X en binaire?? (A&X') ?
Afficher la suite 

Votre réponse

1 réponse

Meilleure réponse
Messages postés
58
Date d'inscription
mercredi 13 octobre 2004
Dernière intervention
13 novembre 2005
3
Merci
Bon, je me réponds à moi même :

D'abord une petite erreur s'est glissée dans ma question : c'est un OU logique et non un ET...
Ensuite la seule manière de faire mon Complément à un est la suivante :

String mask1cpl = Integer.toString(mask1^255); //Ici
String mask2cpl = Integer.toString(mask2^255); // on complémente
String mask3cpl = Integer.toString(mask3^255); // à un tous les
String mask4cpl = Integer.toString((mask4^255)-1); // octets du masque

(avec mask1;mask2,mask3 et mask4 respectivement les octets du masque de sous réseaux)

Ensuite pour avoir l'IP de Fin du LAN, on fait ceci :
String ipFin1 = Integer.toString(ip1|Integer.parseInt(mask1cpl));
String ipFin2 = Integer.toString(ip2|Integer.parseInt(mask2cpl));
String ipFin3 = Integer.toString(ip3|Integer.parseInt(mask3cpl));
String ipFin4 = Integer.toString(ip4|Integer.parseInt(mask4cpl));


String ipFin = ipFin1 + "." + ipFin2 + "." + ipFin3 + "." + ipFin4;

Voilà, j'espère que ça apprendra autant à quelqu'un qu'à moi.....

Bonne journée!

Merci zeldoi5 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de zeldoi5

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.