Funktionen dec2string ($ decimal, $ base) { global $ fejl; $ String = null; $ Base = (int) $ basen; if ($ basen <2 | | $ basen> 36 | | $ basen == 10) { echo 'BASE skal være i intervallet 2-9 eller 11-36'; exit; } $ Charset = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ '; $ Charset = substr ($ charset, 0, $ base); if (! ereg ("(^ [0-9] {1,16} $)«, trim ($ decimaler))) { $ Error ['dec_input'] = "Værdi skal være et positivt heltal '; return false; } do { $ Resten = bcmod ($ decimal, $ base); $ Char = substr ($ charset, $ resten, 1) / / få CHAR fra opstilling $ String = "$ char $ string"; / / tilføj til produktionen $ Decimal = bcdiv (bcsub ($ decimal, $ resten), $ base); } While ($ decimal> 0); returnere $ streng; } Funktionen string2dec ($ streng $ base) { global $ fejl; $ Decimal = 0; $ Base = (int) $ basen; if ($ basen <2 | | $ basen> 36 | | $ basen == 10) { echo 'BASE skal være i intervallet 2-9 eller 11-36'; exit; } $ Charset = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ '; $ Charset = substr ($ charset, 0, $ base); $ String = trim ($ string); if (tomme ($ streng)) { $ Error [] = 'Input string er tom'; return false; } do { $ Char = substr ($ string, 0, 1) / / udtrække Hovedpersonen $ String = substr ($ string, 1) / / drop Hovedpersonen $ Pos = strpos ($ charset, $ char) / / bliver modregnet i $ charset if ($ pos === false) { $ Error [] = "Ulovligt tegn ($ tegn) i Input string"; return false; } $ Decimal = bcadd (bcmul ($ decimal, $ base), $ POS); } While ($ string <> null); returnere $ decimal; } Funktionen pad ($ str, $ num) { tilbage str_repeat ("0", $ num - strlen ($ str)) $ str. } / / Main if (isset ($ _GET ["send"])) { $ Ip = 0; if (isset ($ _GET ["int"]) && $ _GET ["int"]! = "") { $ Ip = $ _GET ["int"]; } else if (isset ($ _GET ["prik"]) && $ _GET ["dot"]! = "") { $ Ip = ip2long ($ _GET ["dot"]); } andet { $ Ip = 0; } $ Uns_ip = ($ ip> 0 $ ip:? 0xFFFFFFFF + $ ip + 1) + 0; if (($ uns_ip & 0 × 80 millioner) == 0) { $ Maske = 0xff000000; } else if (($ uns_ip & 0xC0000000) == -2147483648) { $ Maske = 0xffff0000; } else if (($ uns_ip & 0xE0000000) == -1073741824) { $ Maske = 0xffffff00; } andet { $ Maske = ""; } $ Dot_ip = long2ip ($ uns_ip); $ Hex_ip = dec2string ($ uns_ip, 16); $ Hex_ip = "0x" pad ($ hex_ip, 8). $ Oct_ip = dec2string ($ uns_ip, 8); $ Oct_ip = "0" pad ($ oct_ip, 16). $ Bin_ip = dec2string ($ uns_ip, 2); $ Bin_ip = pude ($ bin_ip, 32); ?> Konvertering resultat | Dot notation | =$dot_ip?> |
|---|
| Decimaltal | =$ip?> |
|---|
| Usigneret decimaltal | =$uns_ip?> |
|---|
| Hexadecimal nummer | =$hex_ip?> |
|---|
| Binært tal | =$bin_ip?> |
|---|
| Oktale tal | =$oct_ip?> |
|---|
| Naturlige netmask | echo "$mask (".long2ip($mask).") " ?> |
|---|
} ?> | |