関数dec2string(小数点、$ベース) { グローバル$エラー; $文字列= NULL; $ BASE =(int)をベース$; するif($ベース<2 | | $ベース> 36 | | $ベース== 10){ エコー 'BASEの範囲内で2月9日または11から36でなければなりません'; 終了します; } $ CHARSET = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ '; $ CHARSET = substrは($文字、0、$ベース)。 もし(!その類似関数( '(^ [0-9] {1,16} $)'、トリム(小数$))){ $エラー['dec_input'] = '値は正の整数でなければなりません'; falseを返します。 } か{ $余り= bcmod(小数点、$ベース)。 $ CHAR = substrは($文字、$残り、1); / /配列からCHAR取得 $文字列= "$ CHAR $文字列" / /プリペンドの出力に $進= bcdiv(bcsub(小数点、$残り)、$ベース) }するwhile($進数> 0); $文字列を返します。 } 機能string2dec($文字列、$ベース) { グローバル$エラー; $進数= 0; $ BASE =(int)をベース$; するif($ベース<2 | | $ベース> 36 | | $ベース== 10){ エコー 'BASEの範囲内で2月9日または11から36でなければなりません'; 終了します; } $ CHARSET = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ '; $ CHARSET = substrは($文字、0、$ベース)。 $文字列=トリム($文字列); {(($文字列)が空)の場合 $エラー[] = '入力文字列が空です'; falseを返します。 } か{ $ CHAR = substrは($文字列、0、1); / /抽出主役 $文字列= substrは($文字列、1); / /ドロップ主役 $ POS =正しくマッチ($文字$ CHAR)/ / $ charsetでエンコードされてオフセットを取得 {($ posです=== false)の場合 $エラー[] = "不正な文字($ char)入力文字列内の"; falseを返します。 } $進= bcadd(bcmul(小数点、$ベース)、$ pos)の; }するwhile($文字列<> NULL); 進$を返します。 } 機能パッド($ strを、$ num)を { におけるSTR_Repeat( "0"、$ num個 - はstrlen($ str)と)を返します$ strを。 } / /メイン (かどうかの判断($ _GET ["送信"]))の場合 { $ IP = 0; (かどうかの判断($ _GET ["INT"])&& $ _GET ["INT"]!= "")であれば { $ IP = $ _GET ["INT"]; } 他の場合(かどうかの判断($ _GET ["ドット"])&& $ _GET ["ドット"]!= "") { $ IP =に対してip2long($ _GET ["ドット"]); } 他 { $ IP = 0; } $ uns_ip =($ IP> 0 $ IP:0xffffffffの+ $ IP + 1)+ 0; (($ uns_ip&0×80000000)== 0)場合 { $マスク= 0xFF000000と。 } 他の場合(($ uns_ip&が0xC0000000)== -2147483648) { マスク$ =は0xFFFF0000。 } 他の場合(($ uns_ip&0xE0000000は)== -1073741824) { マスク$ =は0xffffff00; } 他 { $マスク= ""; } $ dot_ip = long2ip(uns_ip); $ hex_ip = dec2string($ uns_ip、16); $ hex_ip = "0x"のパッド($ hex_ip、8); $ oct_ip = dec2string($ uns_ip、8); $ oct_ip = "0"パッド($ oct_ip、16); $ bin_ip = dec2string($ uns_ip、2); $ bin_ip =パッド($ bin_ip、32); ?> 変換結果 | ドット表記 | =$dot_ip?> |
|---|
| 10進数 | =$ip?> |
|---|
| 符号なし10進数 | =$uns_ip?> |
|---|
| 16進数 | =$hex_ip?> |
|---|
| 2進数 | =$bin_ip?> |
|---|
| 進数 | =$oct_ip?> |
|---|
| ナチュラルマスク | echo "$mask (".long2ip($mask).") " ?> |
|---|
} ?> |