zeldoi5
Messages postés58Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention13 novembre 2005
-
18 avril 2005 à 16:20
zeldoi5
Messages postés58Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention13 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') ?
zeldoi5
Messages postés58Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention13 novembre 20052 19 avril 2005 à 15:13
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));