![]() |
Re: Bits ausm Integer
Zitat:
erst das zweite Bit (das Bit 1) hat die Wertigkeit 2^1 = 2. Zählt man die Bits ab, dann ist also das Bit 12 das 13. Bit. Da vertut man sich leicht, aber das ist nunmal die Basis auf der die EDV funktioniert. Folgerichtig besteht unsere Maske die wir per "and" über die Zahl legen ja auch aus den Bit´s 0 bis 11, also 2^12 - 1. Das Bit 12, was für 2^12 gesetzt wäre ist nur ein Bit, wir wollten aber das alle niederwertigeren Bits gesetzt sind - das ist nunmal der Wert davor (-> -1). "shr Anzahl" verschiebt Anzahl Bits nach rechts, und macht somit aus den Bit´s 12..23 die Bits 0..11. Wie man die Auswertet wissen wir ja schon, das ist wieder die AND - Maske. Grüsse, Dirk PS: Deswegen heißt es ja so schön: es gibt 10 Gruppen von Menschen: welche die binär lesen können, und welche die es nicht können. |
Re: Bits ausm Integer
jo ich weiss ich brauch ja bit 0-11 deswegen 12 nicht 13 :D
|
Re: Bits ausm Integer
Wenn ich gerade keinen Denkfehler mache, ginge das recht einfach so:
Delphi-Quellcode:
ErsteZwoelfBit := Zahl and (1 shl 12 - 1);
NaechsteZwoelfBit := (Zahl shr 12) and (1 shl 12 - 1); |
Re: Bits ausm Integer
Hattu richtig :thumb: :mrgreen:
(1 shl 12) - 1 ist auch $FFF |
Re: Bits ausm Integer
Zitat:
|
Re: Bits ausm Integer
Jo ok, is aber jetzt schon so eingebunden und es geht, von daher werd ichs auch so lassen
|
Re: Bits ausm Integer
Da spricht ja auch nichts dagegen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:28 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