Číselné soustavy v PHP

Publikováno PHP

Od verze PHP 5.4 se už konečně může pracovat se všemi základními číselnými soustavami, přibyla totiž podpora binární soustavy. Dříve již byly podporovány: osmičková, desítková i šestnáctková soustava.

Jejich zápis v PHP je následující:

$int =   10  // Zápis v desítkové s.,    vypíše: 10
$int =  010  // Zápis v osmičkové s.,    vypíše:  8
$int = 0x10  // Zápis v šestnáctkové s., vypíše: 16
$int = 0b10  // Zápis v dvojkové s.,     vypíše:  2    - Až od PHP 5.4

Mezi soustavami můžete různě počítat, ale návratová hodnota jakéhokoli zápisu se automaticky převede do desítkové soustavy.

   // 255 + 8 => vypíše se 263
echo 0xFF + 010;

Paradoxně tak musíte při výpisu čísla soustavu funkcí převést z desítkové na tu, kterou chcete, i když jste ji použili při zápisu.

echo 0xFF;           // Vypíše: 255
echo dechex (0xFF);  // Vypíše: ff
echo decbin (0xFF);  // Vypíše: 11111111
echo decoct (0xFF);  // Vypíše: 377

Komentáře