Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: fortran1986 04. 12. 2019, 22:36:02

Název: Nekonečný číselný typ
Přispěvatel: fortran1986 04. 12. 2019, 22:36:02
Potrebujem serializovať grafické dáta a chcel by som do súboru ukladať čísla tak aby sa tam dali ukladať hodnoty nekonečnej veľkosti.

Mám asi takú predstavu že prvých 7 bitov každého byte sa použije na ukladanie hodnoty (0 - 127) a posledný bit sa použije ako príznak true / false. ak bude false berie sa aktuálna hodnota. Ak bude true pokračuje sa v čítaní na ďaľší byte kde sa zase na ukladanie hodnoty použije len 7 bitov a potom sa skontroluje príznak a tak stále dookola. Viem koľko bitov prečítam... Takže asi podľa sizeof(nejaky_typ) * 8 vyberiem vždy prvý číselný typ ktorý bude vačší alebo rovný ako počet prećítaných bitov.

Zaujímalo by ma či neviete o nejakej knižnici ktorá by takýmto spôsobom serializovala čísla do binárnej podoby. Alebo to budem musieť naprogramovať sám.
Název: Re:Nekonečný číselný typ
Přispěvatel: Milan Beneš 04. 12. 2019, 23:52:03
https://en.wikipedia.org/wiki/List_of_arbitrary-precision_arithmetic_software ?
Název: Re:Nekonečný číselný typ
Přispěvatel: _Jenda 04. 12. 2019, 23:56:08
bignum/gmp

dále bych zvážil jestli nepoužít rovnou třeba Protocol buffers, které s čísly dělají něco podobného https://developers.google.com/protocol-buffers/docs/encoding

a nebo jestli tohle není moc velký opruz a nebylo by jednodušší mít „pascalovský string“ -  na začátku jeden bajt, který říká, kolik bajtů bude následovat. Takto uložíš čísla do 2^2048, což by ti mělo stačit.