Einzelnen Beitrag anzeigen

hirnstroem

Registriert seit: 21. Sep 2005
297 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Hex-String nach Binärwert durchsuchen

  Alt 23. Jan 2007, 10:41
Okay, ich habe wohl noch etwas verschwiegen. Die Adresse besteht in meinem Falle immer aus 29 Bit (eigentlich 32), von welchen die Adresse selbst nur jeweils die ersten 9 (LSB) benötigt. Die nächsten neun wären eine Server Adresse, dann gibts es noch drei Bits für andere Informationen, die nächsten fünf stellen die UserID dar und die letzten drei beherbergen die Priorität.

Jedenfalls sieht so eine Adresse immer in etwa so aus:

11100000111101010101101010101
****^^
Da diese fünf Bits für die UserID vorgesehen sind, sind sie immer 0, bis sie mit der UserID, welche 21 Stellen nach links verschoben wird verodert werden.

Die 5 Bits bekommt man nun wieder raus, indem eine passende Maske mit dem ganzen verundert wird. Die Maske ist nichts anderes als die Adresse (11100000111101010101101010101) durchgehend mit Nullen versehen, bis auf die Stelle, an welche die UserID gehört, dort müssen Einsen hin. So also: 00011111000000000000000000000

Das ergäbe dann UserID := Address and Maske shr 21

Das Ergebnis ist nun immer genau die UserID. An und für sich einfach, sofern man sich an den Mathematikunterricht erinnern könnte...

Vielen Dank einenweg
inde deus abest
  Mit Zitat antworten Zitat