![]() |
Re: 32bit dword / wie finde ich raus ob bit 0,1 oder 2 geset
Eben nicht:
0. Bit = Bit 0 1. Bit = Bit 1 2. Bit = Bit 2 Damit
Code:
Es geht also darum das der Bit Index von 0 bis 31 geht damit der Shift = Bitnummer wird.
3210
0. Bit = 1 shl 0 = 1 = 1 shl Bit 0 = 0001 = 2^0 1. Bit = 1 shl 1 = 2 = 1 shl Bit 1 = 0010 = 2^1 2. Bit = 1 shl 2 = 4 = 1 shl Bit 2 = 0100 = 2^2 3. Bit = 1 shl 3 = 8 = 1 shl Bit 3 = 1000 = 2^3 Du, bzw. Sakuras Tut sagt aber. 1. Bit = Bit 0 2. Bit = Bit 1 3. Bit = Bit 2 dies widerspricht sich, man könnte meinen das ich da ein Krümelkacker bin :-) Allerdings zeigt obige Tabelle sehr schön wie einfach sich alles merken lässt wenn man immer mit 0 basiertem Bitindex arbeitet, und mathematisch gesehen gibt es nur eine korrekte Bitnummerierung die von 0 bis 31 geht. Bei deiner Zählung wäre das
Code:
??? :)
3210
1. Bit = 1 shl 0 = 1 = 1 shl Bit 0 = 0001 = 2^0 2. Bit = 1 shl 1 = 2 = 1 shl Bit 1 = 0010 = 2^1 3. Bit = 1 shl 2 = 4 = 1 shl Bit 2 = 0100 = 2^2 4. Bit = 1 shl 3 = 8 = 1 shl Bit 3 = 1000 = 2^3 Gruß Hagen |
Re: 32bit dword / wie finde ich raus ob bit 0,1 oder 2 geset
Moin Hagen,
Zitat:
Zitat:
(ausgedachtes Beispiel)
Delphi-Quellcode:
als das
const
_IsValidIndex = $4000; begin if (dwFlags and _IsValidIndex) <> 0 then ... end;
Delphi-Quellcode:
Darum Konstanten ;-)
if (dwFlags and $4000) <> 0 then ...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz