Ich möchte, dass ein Schema ganzzahlige Zahlen beginnend mit 0 ohne Einschränkung darstellt (vorausgesetzt, der Zugriff auf unendlichen linearen Speicher).
Hier ist ein Schema, das Zahlen von 0 bis 255 darstellen kann:
Verwenden Sie das erste Byte des Speichers (Adresse 0), um die Ganzzahl zu speichern.
Angenommen, ich möchte Zahlen darstellen, die größer als 255 sind. Natürlich könnte ich mehr als 1 Byte verwenden, um die Ganzzahl darzustellen, aber solange es sich um eine feste Zahl handelt, wird es schließlich eine Ganzzahl geben, die so groß ist, dass sie nicht durch dargestellt werden kann das ursprüngliche Schema.
Hier ist ein weiteres Schema, das die Aufgabe ausführen sollte, aber wahrscheinlich alles andere als effizient ist.
Verwenden Sie einfach eine Art eindeutiges "Ende der Zahl" -Byte und verwenden Sie alle vorherigen Bytes, um die Zahl darzustellen. Offensichtlich kann dieses "Ende der Zahl" -Byte nirgendwo in der Zahlendarstellung verwendet werden, aber dies kann erreicht werden, indem ein Nummerierungssystem der Basis 255 (anstelle der Nummer 256) verwendet wird.
Das ist jedoch langsam und wahrscheinlich ineffizient. Ich möchte eine bessere haben, die mit niedrigen Werten besser abschneidet und gut skaliert.
Im Wesentlichen handelt es sich um ein UUID-System. Ich möchte sehen, ob es möglich ist, ein schnelles UUID-System zu erstellen, das theoretisch für Jahre, Tausende von Jahren, Millionen von Jahren skaliert werden kann, ohne dass es neu gestaltet werden muss.