Vorrei che uno schema rappresentasse numeri interi che iniziano con 0, senza alcun limite (presupponendo l'accesso alla memoria lineare infinita).
Ecco uno schema che può rappresentare numeri da 0 a 255:
Usa il primo byte della memoria (indirizzo 0) per memorizzare il numero intero.
Ora, supponiamo di voler rappresentare numeri maggiori di 255. Naturalmente, potrei usare più di 1 byte per rappresentare l'intero, ma finché è un numero fisso, alla fine ci sarà un intero così grande che non può essere rappresentato dallo schema originale.
Ecco un altro schema che dovrebbe essere in grado di eseguire l'operazione, ma probabilmente è tutt'altro che efficiente.
Basta usare una sorta di unico byte "fine del numero" e utilizzare tutti i byte precedenti per rappresentare il numero. Ovviamente, questo byte di "fine del numero" non può essere utilizzato da nessuna parte nella rappresentazione numerica, ma ciò può essere ottenuto usando un sistema di numerazione base-255 (invece di base-256).
Tuttavia, è lento e probabilmente inefficiente. Voglio avere uno migliore che funzioni meglio con valori bassi e scala bene.
Essenzialmente, è un sistema UUID. Voglio vedere se è possibile creare un sistema UUID ad alte prestazioni che possa essere scalato teoricamente per anni, migliaia di anni, milioni di anni, senza dover essere ridisegnato.