hi,
Aber wie kommst du überhaupt auf die Frage? Worin besteht das konkrete Problem?
alert( inet_aton('192.168.2.1') |~ inet_aton('255.255.255.0') );
ergibt einen negativen Integer. Das Ergebnis ist in diesem Fall richtig.
Anders jedoch hier:
// maskenlänge zu einer uint 32 bit Zahl umrechnen
// masklen 0..32 !!!
int masklen_to_num(int masklen){
if(masklen == 0) return 0;
else return(0xffffFFFF <<(32 - masklen));
}
Diese c-Funktion, den shift-Op anwendend, funktioniert nicht mit JavaScript, weil infolge shift die Zahlen negativ werden.
Möglicherweise gibt es für die modernen Browser ein Pragma oder die Möglichkeit einen Cast-Operator anzuwenden?
Horst (geht erneut auf die Suche)