PHP Wozu braucht man Binär und Hex Zahlen befehle?

Ellinikoskaffes

Cadet 2nd Year
Registriert
Feb. 2013
Beiträge
19
Guten Tag alle leser,
im moment bin ich dabei mein Kopf zu zerbrechen, was es bringen soll, wenn man ein befehl mit Hex und Binär nutzen könnte.

Fragen:
Wozu braucht man Binär und Hex Zahlen befehle?
Wozu ist es Hilfreich?
Kann man das auf eine Webseite als PHP script gebrauchen? (Wenn ja bitte kleine Beispiele geben, nicht detailliert nur Stichpunkte z.B. Passwort, Bilder Gallery...)



Beispiel:


HEX : 0x0 = Binär 0
HEX : 0x1 = Binär 1
HEX : 0x2 = Binär 10
HEX: 0x8c = Binär 140
HEX : 0xf = Binär 1111

etc. und so weiter

Ein befehl den ich in PHP Kenngelernt habe war Beispiel:

PHP:
$x = 0x0; // hexadecimal number
var_dump($x);
echo "<br/>";
$x = 0x1; // hexadecimal number
var_dump($x);
echo "<br/>";
$x = 0x2; // hexadecimal number
var_dump($x);
echo "<br/>";
$x = 0x8C; // hexadecimal number
var_dump($x);

Jede Antwort könnte mir weiter helfen! DANKE im Voraus! :) :freak: :freaky: :D :) :p :o

PS: Ellinikoskaffes :lol:
 
Zuletzt bearbeitet:
Manche Sachen lassen sich halt einfacher binär lösen. Ich werf mal das Wort "Maske" in den Raum.
 
Oh, das hat SEHR viele Gründe. Der PC legt gar nichts im dezimalen System ab, sondern in Bytes, Wörtern und Bits. Und da hast du schon fast die Antwort. Ein 64Bit-Word ist ein Ungeheuer an Bits, weshalb das Schreiben sehr müßig ist. Mit den Hexadezimalen Zahlen kannst du auch 64Bit-Wörter "relativ" kompakt darstellen.

Ein (kleineres) Beispiel:
127 im dezimalen System entspricht als Bytes: 1111111
und als Hex: 8F

So musste man in früheren Programmierungen seine Zahlen umsetzen. Auch heute kann es manchmal sinnvoll sein Hexzahlen zu nutzen.

Ein weiterer Punkt sind Bitmasken. Stelle dir vor du hast 8 Bit als Konfiguration, wobei jedes Bit für eine Option steht, die an oder aus sein soll. Möchtest du jetzt die erste, vierte und siebenste Option an haben, den Rest aber aus, so würde das so aussehen:

Binär: 01001001
Hex: 49
Dezimal: 73

Zugegeben, auch Hex ist hier nicht ganz so intuitiv, aber spätestens die Dezimale Zahl ist "ein wirres Konstrukt unverständlicher Transformationen" (leicht übertrieben). Die Binär- und Hex-Zahlen sind einfach das, was der PC kann. Möchtest du eine Zahl mal nicht als Zahl sondern als Datenblock nutzen, so bist du mit der Binärdarstellung stets besser beraten. Die Hexadezimale Darstellung ist dann eine "Verbesserung", weil du nur noch ein Viertel der Stellen benötigst. Gerade bei großen "Zahlen" verbessert das die Lesbarkeit.
 
PHP verwendet solche Masken intern sogar oftmals direkt im Core. Denk nur an die verschiedenen Flags für htmlentities(); Die Konstanten sind nichts anderes als Integer-Werte, die intern als Bitmaske verwendet werden.
 
Man kann binär rechnen, was wesentlich schneller ist also mit *
Google nach "bit schiebeoperationen".

Verschiebung der Bits gleicht z.B. dem Ergebnis einer Mulitplikation.
Das macht der Rechner halt viel schneller ohne wirklich rechnen zu müssen.

Aber das muss man normal nicht machen, da Compiler / Interpreter das eh optimieren.
Code Lesbarkeit geht immer vor. Solches Bit schubsen brauchst vielleicht in Programmen die max performance brauchen, also irgendwelchem wissenschaftlichem Kram für Super Computer oder bei Treibern.
 
Zuletzt bearbeitet:

Ähnliche Themen

Zurück
Oben