Me gustaría que un esquema represente números enteros que comiencen por 0, sin ningún límite (suponiendo el acceso al almacenamiento lineal infinito).
Aquí hay un esquema que puede representar números del 0 al 255:
Use el primer byte del almacenamiento (dirección 0) para almacenar el entero.
Ahora, supongamos que quiero representar números mayores que 255. Por supuesto, podría usar más de 1 byte para representar el número entero, pero mientras sea un número fijo, eventualmente habrá un número entero tan grande que no puede ser representado por El esquema original.
Aquí hay otro esquema que debería ser capaz de hacer la tarea, pero probablemente esté lejos de ser eficiente.
Simplemente use algún tipo de byte único de "fin de número" y use todos los bytes anteriores para representar el número. Obviamente, este byte "fin de número" no se puede usar en ninguna parte de la representación numérica, pero esto se puede lograr usando un sistema de numeración base-255 (en lugar de base-256).
Sin embargo, eso es lento y probablemente ineficiente. Quiero tener uno mejor que funcione mejor con valores bajos y escale bien.
Esencialmente, es un sistema UUID. Quiero ver si es posible crear un sistema UUID de rendimiento rápido que, en teoría, pueda escalar para usar durante años, miles de años, millones de años, sin tener que rediseñarlo.