Quantity Node ist ein Node-Typ variabler Laenge zur Darstellung von physikalischen Groessen, Zahlenwerten, Waehrungen und Literalen.

EigenschaftBeschreibung
Variable Laenge4~N Woerter (je nach Wertgroesse)
Explizite EinheitSI Basis/Abgeleitet + Nicht-SI (Waehrungen, Zeit usw.)
SkalenunterstuetzungPraefixe als Zehnerpotenzen
SonderliteraleZeitstempel, Zeichenketten (UTF-16), Farben (RGBA)
TID am EndeNode-Eigenschaft (Konsistenz mit Entity Node)

Verwendung: Object des Triple Edge, Teilnehmer des Verb Edge, Teilnehmer des Event6 Edge, Name/Label von Entitaeten, Zeitausdruecke usw.

Paketstruktur

1st WORD (16 Bit)
┌────────────────────┬────────────────────┐
│      Prefix        │       Unit         │
│      10bit         │       6bit         │
└────────────────────┴────────────────────┘

2nd WORD (16 Bit)
┌──────┬──────┬──────┬────────────────────┐
│ Sign │ Size │ Type │      Scale         │
│ 1bit │ 2bit │ 1bit │       4bit         │
├──────┴──────┴──────┴────────────────────┤
│              Reserved (8bit)            │
└─────────────────────────────────────────┘

3rd+ WORD: Value (variabel, 1/2/4 Woerter je nach Size)

Last WORD (16 Bit)
┌─────────────────────────────────────────┐
│                  TID                    │
│                 16bit                   │
└─────────────────────────────────────────┘
FeldBitsGroesseBeschreibung
Prefix1-10100001 000 010 (Quantity Node)
Unit11-16664 Einheitencodes
Sign1710=positiv, 1=negativ
Size18-192Anzahl der Wert-Woerter
Type2010=Ganzzahl, 1=Gleitkomma
Scale21-244Zehnerpotenz (Offset 8)
Reserved25-328Reserviert (Waehrungscode bei Waehrung)

Paketgroesse nach Size

SizeWert-WoerterGesamtwoerter
001 (16 Bit)4
012 (32 Bit)5
104 (64 Bit)7

Unit-Codes (6 Bit = 64)

SI-Basiseinheiten (0x00~0x06)

CodeEinheitSymbolGroesse
0x00metermLaenge
0x01kilogramkgMasse
0x02secondsZeit
0x03ampereAStromstaerke
0x04kelvinKTemperatur
0x05molemolStoffmenge
0x06candelacdLichtstaerke

Abgeleitete SI-Einheiten (0x07~0x1C)

CodeEinheitSymbolGroesse
0x07hertzHzFrequenz
0x08newtonNKraft
0x09pascalPaDruck
0x0AjouleJEnergie
0x0BwattWLeistung
0x0CcoulombCElektrische Ladung
0x0DvoltVSpannung
0x0EfaradFElektrische Kapazitaet
0x0FohmΩWiderstand
0x10siemensSLeitfaehigkeit
0x11weberWbMagnetischer Fluss
0x12teslaTMagnetfeld
0x13henryHInduktivitaet
0x14celsius°CTemperatur
0x15lumenlmLichtstrom
0x16luxlxBeleuchtungsstaerke
0x17becquerelBqRadioaktivitaet
0x18grayGyAbsorbierte Dosis
0x19sievertSvAequivalentdosis
0x1AkatalkatKatalytische Aktivitaet
0x1BradianradEbener Winkel
0x1CsteradiansrRaumwinkel

Nicht-SI-Einheiten (0x20~0x2F)

CodeEinheitVerwendung
0x20CURRENCYWaehrung (Waehrungscode-Erweiterung)
0x21percent% (Verhaeltnis)
0x22degree° (Winkel)
0x23~0x28minute~yearZeiteinheiten
0x29bitInformationsmenge
0x2AbyteInformationsmenge
0x2B~0x2FCOUNT~INDEXEinheitenlose Werte

Sonderliterale (0x30~0x3F)

CodeTypPayloadVerwendung
0x30TIMESTAMP_SEC2/4 WoerterUnix-Zeitstempel (Sekunden)
0x31TIMESTAMP_MS4 WoerterUnix-Zeitstempel (Millisekunden)
0x32UTF162+N WoerterUTF-16-Zeichenkette
0x33RGBA2 WoerterFarbe (32 Bit)

Scale (4 Bit)

Zehnerpotenz. Offset 8 angewendet. Berechnung: realer_Wert = Value x 10^(Scale - 8)

CodeWertPraefixCodeWertPraefix
000010⁻⁸-100010⁰ (Standard)-
001010⁻⁶μ100110¹da
010110⁻³m101110³k
011010⁻²c111010⁶M

Waehrungserweiterung (Unit = 0x20)

Bei Waehrung (CURRENCY) werden die 8 Reserved-Bits als Waehrungscode verwendet.

CodeWaehrungISOCodeWaehrungISO
0x00US-DollarUSD0x05Suedkoreanischer WonKRW
0x01EuroEUR0x06Schweizer FrankenCHF
0x02Japanischer YenJPY0x07Australischer DollarAUD
0x03Britisches PfundGBP0x08Kanadischer DollarCAD
0x04Chinesischer YuanCNY0x80BitcoinBTC

Beispiele

“100kg” → 4 Woerter

1st: [Prefix] + [0x01(kg)]
2nd: +, 1 Wort, int, x1     → 0x0800
3rd: 0x0064 (100)
4th: TID
Interpretation: +100 x 10⁰ kg = 100kg

“$2.500.000” → 4 Woerter (Skalennutzung)

1st: [Prefix] + [0x20(CURRENCY)]
2nd: +, 1 Wort, int, x10³, USD  → 0x0B00
3rd: 0x09C4 (2500)
4th: TID
Interpretation: +2500 x 10³ USD = $2.500.000