Chciałbym, aby schemat reprezentował liczby całkowite zaczynające się od 0, bez żadnych ograniczeń (zakładając dostęp do nieskończonej pamięci liniowej).
Oto schemat, który może reprezentować liczby od 0 do 255:
Użyj pierwszego bajtu pamięci (adres 0), aby zapisać liczbę całkowitą.
Załóżmy teraz, że chcę reprezentować liczby większe niż 255. Oczywiście mógłbym użyć więcej niż 1 bajtu do przedstawienia liczby całkowitej, ale dopóki jest to stała liczba, w końcu będzie liczba całkowita tak duża, że nie będzie mogła być reprezentowana przez oryginalny schemat.
Oto kolejny schemat, który powinien być w stanie wykonać zadanie, ale prawdopodobnie nie jest skuteczny.
Wystarczy użyć jakiegoś unikalnego bajtu „końca liczby” i użyć wszystkich poprzednich bajtów do przedstawienia liczby. Oczywiście tego bajtu „końca liczby” nie można użyć w dowolnym miejscu w reprezentacji liczb, ale można to osiągnąć za pomocą systemu numeracji base-255 (zamiast base-256).
Jest to jednak powolne i prawdopodobnie nieefektywne. Chcę mieć lepszy, który działa lepiej przy niskich wartościach i dobrze się skaluje.
Zasadniczo jest to system UUID. Chcę sprawdzić, czy można stworzyć szybko działający system UUID, który teoretycznie można skalować do użycia przez lata, tysiące lat, miliony lat, bez konieczności przeprojektowywania.