XBUP - Specifikace bloků: Vyjádření číselTento dokument je součástí dokumentace projektu eXtensible Binary Universal Protocol. Obsahuje způsob kódování číselných konstant do protokolu XBUP.
1. Úvod
2. Základní čísla
2.1. Přirozená čísla
2.2. Celá čísla
2.3. Poměr
3. Složená čísla
3.1. Reálná čísla
3.2. Komplexní čísla
3.3. Zlomky
Následující typy slouží pro vyjádření běžných číselných typů, jako jsou celá čísla, reálná čísla a podobně. Tyto hodnoty je možné vyjádřit v několika formách, především ve formě atributu či datového bloku s pevně definovaným rozsahem hodnot. Atributové bloky jsou taktéž využity v dalších blocích pro definici atributů.
Přidělené indexy katalogu:
Cílem následujících bloků je uložení hodnot známých typů, jako jsou například přirozená či celá čísla. Většinu z těchto typů je možné reprezentovat také jako atribut bloku. Zde uvedené varianty jsou určeny pro základní reprezentaci, případné další možnosti vyjádření, jako například pomocí výpočtu či jiných transformací budou uvedeny jinde.
Typ: XBUP/Math/Number Natural
Přirozená čísla, tedy ve smyslu nezáporných celých čísel s neomezeným rozsahem, je možné ukládat jako jeden blok s vhodným atributem, tedy typ UBNatural.
Jinou možností je použít pro reprezentaci čísel z omezeného rozsahu datový blok pevné délky s obalovacím blokem bez dalších atributů, případně s atributem uvádějícím počet platných bajtů či bitů:
UBNatural ValidBytes
Jsou tedy definovány následující typy s odpovídajícím počtem platných bitů: Natural 8, 16, 24, 32, 48, 64... Interval hodnot typu Natural X je pak <0 .. (2^X)-1>. Režie pro uložení jedné hodnoty Natural je v tomto případě minimálně 6 bajtů. Příklad:
| Data | Popis |
| 03 | Velikost atributové části |
| 03 | Velikost bloku |
| XX | UBNatural Group = XBUP/Math/Number |
| XX | UBNatural Block = Natural 16 |
| 01 | Velikost atributové části |
| 02 | Velikost bloku |
| YY YY | Vlastní hodnota |
Typ: XBUP/Math/Number Integer
Základní celé číslo je kódováno obdobně jako výše uvedená hodnota, pouze je v případě atributu či datového bloku použit dvojkový doplňkový kód, který posouvá platný interval o polovinu do záporných hodnot, tedy pro Integer X je pak interval <-(2^(X-1)) .. (2^(X-1))-1>.
Typ: XBUP/Math/Number Ratio
Tento typ umožňuje realizovat reálná čísla v rozsahu <0..1> s dvojkovou přesností a konečným dvojkovým rozvojem.
Složená čísla mají typicky větší mohutnost než spočetné množiny, proto jsou jejich rozsahy omezeny a hodnoty jsou realizovány pomocí více hodnot základních, případně s využitím vhodného přístupu přetvořeny na základní hodnotu.
Typ: XBUP/Math/Number Real
Reálná čísla jsou pro uložení omezena na čísla s konečným dvojkovým rozvojem a je tam možné je realizovat jako dvojici celých čísel, dostupných pod označením:
UBReal Value
Dalšími možnostmi jsou například použití jedné hodnoty pro některé podmnožiny reálných čísel, jako například UBRatio atp. Samozřejmě je také možné použít datový blok, například s reprezentací hodnoty v kódu IEEE 754.
Typ: XBUP/Math/Number Complex, UBComplex
Komplexní čísla jsou realizována jakožto dvojice reálných čísel pro racionální a iracionální část čísla.
Zlomky...
Homepage: http://xbup.sf.net
License: GNU Free Documentation License (FDL)
Latest update: 2009-01-30