M
Martin13
Gast
Hi!
Ich muss für die Uni ein kleines Programm schreiben, mit dem man IP-Adressen und Subnetmask einlesen kann und dann die dazugeörige Netzwerk-ID bekommt.
Wir haben ein paar Code-Fragmente zur Verügung gestellt bekommen, unter anderem das hier:
Wenn die IP-Adresse also in einem Klasse B-Netzwerk liegt, ist die Bedingung erfüllt. Und das verstehe ich nicht. Wie kommt man darauf?? Wie müsste das dann für ein Klasse A oder C Netz lauten??
Die IP-Adresse berechnet sich so:
Had da irgendjemand eine Idee??
Ich muss für die Uni ein kleines Programm schreiben, mit dem man IP-Adressen und Subnetmask einlesen kann und dann die dazugeörige Netzwerk-ID bekommt.
Wir haben ein paar Code-Fragmente zur Verügung gestellt bekommen, unter anderem das hier:
Code:
if((ipAddress & 0xc0000000l) == 0x80000000l)
{
System.out.println("Klasse B Netzwerk");
}
Wenn die IP-Adresse also in einem Klasse B-Netzwerk liegt, ist die Bedingung erfüllt. Und das verstehe ich nicht. Wie kommt man darauf?? Wie müsste das dann für ein Klasse A oder C Netz lauten??
Die IP-Adresse berechnet sich so:
Code:
long ipAddress = 0;
long subnetMask;
String sIP = new String("130.0.0.1");
short temp;
for(int i = 0; i < 4; i++)
{
if(i < 3)
temp = Short.parseShort(sIP.substring(0, sIP.indexOf(".")));
else
temp = Short.parseShort(sIP);
if(temp < 0 || temp > 255)
throw new IllegalArgumentException();
ipAddress = (ipAddress << 8) + temp;
sIP = sIP.substring(sIP.indexOf(".") + 1);
}
Had da irgendjemand eine Idee??
Zuletzt bearbeitet von einem Moderator: