Eu gostaria que um esquema representasse números inteiros começando com 0, sem nenhum limite (assumindo acesso ao armazenamento linear infinito).
Aqui está um esquema que pode representar números de 0 a 255:
Use o primeiro byte do armazenamento (endereço 0) para armazenar o número inteiro.
Agora, suponha que eu queira representar números maiores que 255. É claro que eu poderia usar mais de 1 byte para representar o número inteiro, mas desde que seja um número fixo, haverá eventualmente um número inteiro tão grande que não pode ser representado por o esquema original.
Aqui está outro esquema que deve ser capaz de executar a tarefa, mas provavelmente está longe de ser eficiente.
Basta usar algum tipo de byte "final de número" exclusivo e usar todos os bytes anteriores para representar o número. Obviamente, esse byte de "fim de número" não pode ser usado em nenhum lugar da representação numérica, mas isso pode ser alcançado usando um sistema de numeração de base 255 (em vez de 256 de base).
No entanto, isso é lento e provavelmente ineficiente. Quero ter um melhor que tenha um desempenho melhor com valores baixos e dimensione bem.
Essencialmente, é um sistema UUID. Quero ver se é possível criar um sistema UUID de desempenho rápido que, teoricamente, pode ser escalado para uso por anos, milhares de anos, milhões de anos, sem precisar ser redesenhado.