Przejdź do treści

Centrum Kształcenia Zawodowego i Ustawicznego w Mrągowie

Pozycyjne systemy liczbowe i PHP

środa,

Pozycyjne systemy liczbowe i PHP

Język PHP dostarcza funkcje umożliwiające konwersję liczb pomiędzy różnymi systemami liczbowymi. Najbardziej uniwersalna spośród nich to base_convert() dająca możliwość samodzielnego określenia źródłowej i docelowej podstawy. Przyjmuje ona trzy argumenty, pierwszy to konwertowana liczba, dwa następne to odpowiednio pierwotna i docelowa podstawa. Poniżej zamieszczono przykładowej wywołania tej funkcji. Pierwotna i docelowa podstawa muszą zawierać się w zakresie od 2 do az. Wyrażenie „az” to liczba 36 szesnastkowo, podstawy większe niż dziesięć przekazujemy do funkcji w tej formie.

<pre>
<?php
	echo base_convert('F1', 16, 2) . "\n"; // 1111111100000001
	echo base_convert('7', 10, 2) . "\n"; // 111
	echo base_convert('9', 10, 3) . "\n"; // 100
?>
<pre>

Funkcje bindec() oraz decbin() konwertują liczby jedynie liczby binarne i dziesiętne. Kierunek konwersji określa sugestywna nazwa funkcji.


<pre>
<?php 
	echo decbin(7) . "\n"; // 111
	echo bindec(111) . "\n"; // 7
?>
</pre>

W poniższym przykładzie wyświetlono liczby dziesiętne z przedziału 0-20 wraz z ich binarnymi odpowiednikami.


<pre>
<?php 
	foreach(range(0,20) as $x) {
		echo $x . '|' . decbin($x) . "\n";
	}
?>
</pre>

Funkcje decoct() oraz octdec() dotyczą systemów ósemkowego oraz dziesiętnego.

	
<pre>
<?php 
	echo decoct(128) . "\n"; // 200
	echo octdec(200) . "\n"; // 128
?>
</pre>

Ostatnie para prezentowanych funkcji to dechex() oraz hexdec(). Zgodnie z nazwą dotyczą one konwersji systemów heksadecymalnego oraz dziesiętnego.


<pre>
<?php 
	echo dechex(3840) . "\n"; // f00
	echo hexdec('f00') . "\n"; // 3840
?>
</pre>
Artykuł: Pierwszy dzień w Splicie

Pierwszy dzień w Splicie

Artykuł: OpenSolaris

OpenSolaris

Artykuł: Bob Frankston

Bob Frankston

Artykuł: Staże w Chorwacji

Staże w Chorwacji

Artykuł: 3Com

3Com

Nasze technikum

Technik informatyk

Szkoły dla dorosłych

Nasza szkoła

Pełna oferta edukacyjna

Oferta szkoły