2012-01-29 6 views
0

je dois calculer le bitmask pour le nombre d'adresses IP N .. Je sais de mémoire:PHP - Le calcul d'un masque de bits d'un montant

32 = 1 IP 
31 = 2 IP 
30 = 4 IP 
29 = 8 IP 

et ainsi de suite ..

Si je rechercherai 8 Ip, c'est-à-dire égal à POW (2, 3) = 8; Je commence cependant par le 8 et j'ai besoin de le retravailler.

Quelle serait la meilleure façon de calculer cela en PHP?

Merci à l'avance ..

Répondre

3
$bitsrequired = ceil(log($number_of_ips)/log(2)); 
+0

Hm, ou moins, 'ceil (log (numéro de $, 2))', ou que je me trompe? – Wrikken

+0

Apparaît de la même façon, j'aime juste écrire la division explicitement. –

+0

Aight, mes maths sont un peu rouillées (note à moi-même: brosser ...), donc je me demandais vraiment;) Bon de me reconnaitre avec ces 2 étant égaux. – Wrikken

Questions connexes