Entwickler-Ecke

Algorithmen, Optimierung und Assembler - GUID mit integerwerten


mcst09 - Mi 04.01.06 22:06
Titel: GUID mit integerwerten
Hallo,

gibt es eine möglichkeit, eine GUID bzw. eine weltweit einmalige zahl zu kreieren, aber im datenformat integer?
eine GUID kann man ja als string erzeugen, aber das hilft mir nicht weiter. auch ein umwandeln bringt mir nichts.

kennt jemand eine möglichkeit?

axl


Moderiert von user profile iconGausi: Topic aus VCL (Visual Component Library) verschoben am Do 05.01.2006 um 13:01


Bernhard Geyer - Do 05.01.06 09:09

Nein. Ist nicht möglich.

Du hast bei Integer nur 2^32 Möglichkeiten und dies sind definitiv viel zu wenig Möglichkeiten um hierauf eine wahrscheinlich eindeutige ID zu generieren. Du könntest Integer (Int32) nicht mal verwenden um jedem Menschen auf der Erde eine eindeutige ID zu geben.

Genau für solche Anforderungen wurden GUID's definiert. Und nicht umsonst sind GUID's 16 Bytes groß.


GTA-Place - Sa 07.01.06 15:03

Und wie sieht es mit Extended aus?


Bernhard Geyer - Sa 07.01.06 18:17

user profile iconGTA-Place hat folgendes geschrieben:
Und wie sieht es mit Extended aus?

Um 2^48 schlechter als bei einer GUID :-)
Und vor allem. Du müstest den GUID-Zugrundeliegenden Algorithmus abspecken das er mit 6 Byte weniger zurecht kommt.

Annahme: Du nimmst die Mac-Adresse (6 Byte) als ein Teil der eindeutigen Nummer. Anschließend den Zeitstempel im Unix-Zeitformat (4 Byte). Damit könntest Du zwischen 1970 und ca. 2100 jede Sekunde einen neuen eindeutigen Wert erzeugen. Ab was ist wenn du alle ms einen neuen Wert benötigst? ...