Quantity Node adalah tipe Node panjang variabel untuk menyatakan besaran fisik, bilangan, mata uang, dan literal.

KarakteristikDeskripsi
Panjang variabel4~N word (tergantung ukuran nilai)
Satuan eksplisitDasar/turunan SI + non-SI (mata uang, waktu, dll.)
Dukungan skalaPrefiks melalui pangkat 10
Literal khususWaktu (timestamp), string (UTF-16), warna (RGBA)
TID di akhirKarakteristik Node (konsistensi dengan Entity Node)

Kegunaan: Object Triple Edge, partisipan Verb Edge, partisipan Event6, nama/label entitas, representasi waktu, dll.

Struktur Paket

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 word sesuai Size)

Last WORD (16 bit)
┌─────────────────────────────────────────┐
│                  TID                    │
│                 16bit                   │
└─────────────────────────────────────────┘
FieldBitUkuranDeskripsi
Prefix1-10100001 000 010 (Quantity Node)
Unit11-16664 kode satuan
Sign1710=positif, 1=negatif
Size18-192Jumlah word Value
Type2010=integer, 1=floating point
Scale21-244Pangkat 10 (offset 8)
Reserved25-328Cadangan (kode mata uang jika CURRENCY)

Ukuran Paket per Size

SizeWord ValueTotal word
001 (16 bit)4
012 (32 bit)5
104 (64 bit)7

Kode Satuan (6 bit = 64)

Satuan Dasar SI (0x00~0x06)

KodeSatuanSimbolBesaran
0x00metermPanjang
0x01kilogramkgMassa
0x02secondsWaktu
0x03ampereAArus listrik
0x04kelvinKSuhu
0x05molemolJumlah zat
0x06candelacdIntensitas cahaya

Satuan Turunan SI (0x07~0x1C)

KodeSatuanSimbolBesaran
0x07hertzHzFrekuensi
0x08newtonNGaya
0x09pascalPaTekanan
0x0AjouleJEnergi
0x0BwattWDaya
0x0CcoulombCMuatan listrik
0x0DvoltVTegangan
0x0EfaradFKapasitansi
0x0FohmΩHambatan
0x10siemensSKonduktansi
0x11weberWbFluks magnetik
0x12teslaTMedan magnet
0x13henryHInduktansi
0x14celsius°CSuhu
0x15lumenlmFluks cahaya
0x16luxlxIluminansi
0x17becquerelBqRadioaktivitas
0x18grayGyDosis serap
0x19sievertSvDosis ekivalen
0x1AkatalkatAktivitas katalitik
0x1BradianradSudut datar
0x1CsteradiansrSudut ruang

Satuan Non-SI (0x20~0x2F)

KodeSatuanKegunaan
0x20CURRENCYMata uang (ekstensi kode)
0x21percent% (rasio)
0x22degree° (sudut)
0x23~0x28minute~yearSatuan waktu
0x29bitInformasi
0x2AbyteInformasi
0x2B~0x2FCOUNT~INDEXBilangan tanpa satuan

Literal Khusus (0x30~0x3F)

KodeTipePayloadKegunaan
0x30TIMESTAMP_SEC2/4 wordUnix timestamp (detik)
0x31TIMESTAMP_MS4 wordUnix timestamp (milidetik)
0x32UTF162+N wordString UTF-16
0x33RGBA2 wordWarna (32 bit)

Scale (4 bit)

Pangkat 10. Offset 8 diterapkan. Rumus: nilai aktual = Value × 10^(Scale - 8)

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

Ekstensi Mata Uang (Unit = 0x20)

Jika CURRENCY, 8 bit Reserved digunakan sebagai kode mata uang.

KodeMata uangISOKodeMata uangISO
0x00Dolar ASUSD0x05Won KoreaKRW
0x01EuroEUR0x06Franc SwissCHF
0x02Yen JepangJPY0x07Dolar AustraliaAUD
0x03PoundsterlingGBP0x08Dolar KanadaCAD
0x04Yuan TiongkokCNY0x80BitcoinBTC

Contoh

“100 kg” → 4 word

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

“$2.500.000” → 4 word (dengan skala)

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