Der Definitionsbereich besteht aus einem Grunddefinitionsbereich und eventuell Parametern, die den Grunddefinitionsbereich weiter spezifizieren.
Das erste Bit (die Zählung beginnt bei 1) des Grunddefinitionsbereichsfeldes bestimmt dessen Länge:
Das zweite Bit gibt an, ob der Definitionsbereich skaliert wird:
Wenn der Definitionsbereich skaliert wird, wird ein Skalierungsfaktor angegeben. Dieser Faktor
ist eine Gleitkommazahl, mit dem die Werte des unskalierten Definitionsbereichs multipliziert werden, um (die Werte des/) den skalierten Definitionsbereich zu erhalten.
Der Skalierungsteil wird hinter den Definitionsbereichsangaben (inklusive Parametern) angegeben. Er besteht aus 3 Feldern: dem Längenfeld, dem Mantissenfeld und dem Exponentenfeld. Das erste Feld (das Längenfeld) ist 8 Bit lang, stellt eine natürliche Zahlen dar und gibt die Anzahl der Bytes für sowohl das Mantisse- als auch das Exponentenfeld an. Das Mantissenfeld (zweites Feld) und das Exponentenfeld (drittes Feld)
sind jeweils Ganzzahlen. Der Skalierungsfaktor
ergibt sich dann zu
.
Beispiel: Der Definitionsbereich sind 2 Bit natürliche Zahlen mit dem Skalierungsfaktor
(die Mantisse ist
und der Exponent ist
, das Längenfeld ist
, für ein Byte Skalierungsfaktorfeld). Die Bits des Skalierungsfaktors sind damit: 0000 0001; 0000 0001; 1111 1111. Möglich Werte für das Element zum Definitionsbereich sind:
;
;
;
. Ist nun im Element zum Definitionsbereich eine Zahl, die unskaliert
bedeuten würde, bedeutet sie mit Skalierung
.
Die Bits des gesamten Definitionsbereichs sind: 0; 1; 000000; 00000010; 00000001; 00000001; 11111111 (Felder in dieser Reihenfolge: 8-Bit-Grunddefinitionsbereiche; skaliert; natNumberB; mit 2 Bit pro Element; Skalierungsfaktor: 1 Byte pro Feld,
,
) (in der Datei, erste Bit vorn: 01000000 01000000 10000000 10000000 11111111)
Die einzelnen Definitionsbereiche (inklusive Skalierungsfaktor) werden mit 0 auf ganzzahlige Byts aufgefüllt. Ist also eine Definitionsbereichsangabe 13 Bit lang, so werden die verbleibenden 3 Bit mit 0 gefüllt, so dass ein 16-Bit (=2 Byte) Definitionsbereichsfeld entsteht.
Name | Wert Bits 3 bis 8 | Beschreibung | Parameter |
naturalNumberB | 0000 00 | Der Grunddefinitionsbereich sind die natürlichen Zahlen. | Der folgende 8-Bit-Parameter ist eine natürliche Zahl ![]() ![]() |
integerB | 0100 00 | Der Grunddefinitionsbereich sind die Ganzzahlen. | Der folgende 8-Bit-Parameter ist eine natürliche Zahl ![]() ![]() |
naturalNumber | 0000 01 | Der Grunddefinitionsbereich sind die natürlichen Zahlen. | Der folgende 64-Bit-Parameter ist eine natürliche Zahl ![]() ![]() ![]() |
integer | 0100 01 | Der Grunddefinitionsbereich sind die Ganzzahlen. | Die folgenden zwei 64-Bit-Parameter sind zwei Ganzzahlen ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
integerValues | 0100 10 | Der Grunddefinitionsbereich sind die Ganzzahlen. | Der erste folgende 64-Bit-Parameter ist eine natürliche Zahl ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
real | 1000 00 | Der Grunddefinitionsbereich sind Gleitkommazahlen. Eine Gleitkommazahl besteht aus zwei Ganzzahlfeldern, eines, das Erste, für den Exponent ![]() ![]() ![]() ![]() |
Es folgen zwei Parameter. Der erste Parameter gibt den Definitionsbereich der Mantisse und der zweite des Exponenten an. Die Angabe der Definitionsbereiche ist so wie in dieser Tabelle beschrieben (ohne dass die Definitionsbereiche einzeln mit 0 aufgefüllt werden). Beide Definitionsbereiche müssen aus den Ganzzahlen kommen (also integer... oder naturalNumber...). |
realValues | 1000 01 | Der Grunddefinitionsbereich sind Gleitkommazahlen. Eine Gleitkommazahl besteht aus zwei Ganzzahlfeldern, eines, das Erste, für den Exponent ![]() ![]() ![]() ![]() |
Der erste folgende 64 Bit Parameter ist eine natürliche Zahl ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
vector | 1100 00 und 1100 01 | Der Grunddefinitionsbereich sind Vektoren. | Der folgende Parameter ![]() ![]() ![]() ![]() |
vectorValues | 1100 10 und 1100 11 | Der Grunddefinitionsbereich sind Vektoren. | Der erste folgende Parameter ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
vectorOpenEnd | 1110 00 und 1110 01 | Der Grunddefinitionsbereich sind Vektoren. | Der folgende Parameter ![]() ![]() ![]() ![]() |
domainReference | 1111 00 | Ein Verweis auf den (Unter-)Definitionsbereich eines anderen Elements. Als Definitionsbereich wird der Definitionsbereich des Elements mit dem gegebenen Definitionsbereichnamen ![]() |
Als erster Parameter folgt der im komprimierte Dateiformat kodierte ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
defaultDomain | 1111 01 | Der angegebene Definitionsbereich wird nur verwendet, wenn es für das entsprechende Element bisher keinen anderen Definitionsbereich gibt. | Als Parameter folgt ein Definitionsbereich wie in dieser Tabelle beschrieben. Der angegeben Definitionsbereich wird nur verwendet, wenn es für das entsprechende Element bisher keinen anderen Definitionsbereich gibt. |