Datentypen haben plattformübergreifend stets dieselbe Byte-Länge

Infolge Typisierung ist ein plattformübergreifender Transport der Daten möglich, das Byte als kleinster gemeinsamer Nenner

Diese kleine Demo zeigt den eigentlichen Sinn einer Typisierung: Sie dient dazu, den Wertebereich einer Variablen einzuschränken und insbesondere die Länge in Bytes eines bestimmten Datentyps festzulegen. Sie können also eine beliebige Zahl eingeben, das Ergebnis hat stets eine Länge von genau 4 Bytes (32 Bit).

Typisierung macht Datentypen portable

Wieviele Bytes eine Variable rechnerintern im Hauptspeicher belegt, ist heutzutage weniger interessant. Tatsächlich wird es erst interessant, wenn Daten nach draußen gehen, also transportiert oder in Dateien gespeichert werden müssen. Von daher müssen Datentypen portabel sein, sie müssen infolge einer Festlegung so beschaffen sein, daß sie in Dateien (beim Transport) stets dieselbe Bytefolge erzeugen und das unabhängig von der Programmiersprache und vom Betriebssystem.

Untenstehender C-Code zeigt, wie diese Anwendung funktioniert

float f = 1.23;
unsigned char *oct = (unsigned char*)&f;
printf("%0.2f: %X %X %X %X\n", f, oct[0], oct[1], oct[2], oct[3] );
// 1.23: A4 70 9D 3F

Perl erzeugt exakt dieselbe Bytefolge

printf "%X %X %X %X", unpack "C4", pack "f", 1.23;

Untenstehend dasselbe in PHP

vprintf( "%X %X %X %X", unpack( "C4", pack( "f", 1.23)));

Integer in Vax- und Networkorder

Etwas anschaulicher und auch verständlicher zeigen sich die ganzen Zahlen. Untenstehendes Formular demonstriert sowohl die Zählung als auch die Abbildung eines 16 Bit Integers auf Bytewertigkeiten eines Litte- und BigEndian.

Big Endian:
Little Endian:

Datenschutzerklärung: Diese Seite dient rein privaten Zwecken. Auf den für diese Domäne installierten Seiten werden grundsätzlich keine personenbezogenen Daten erhoben. Das Loggen der Zugriffe mit Ihrer Remote Adresse erfolgt beim Provider soweit das technisch erforderlich ist. s​os­@rolf­rost.de.