AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Bits eines Bytes auslesen

Ein Thema von Salomon · begonnen am 22. Okt 2002 · letzter Beitrag vom 22. Okt 2002
Antwort Antwort
Benutzerbild von d3g
d3g

Registriert seit: 21. Jun 2002
602 Beiträge
 
#1
  Alt 22. Okt 2002, 16:17
Hi Salomon,

ich weiß nicht, hate das sakura nicht scho irgendwo gepostet?

Code:
function TestBit(aByte: Byte; aBitNum: Integer): Boolean;
begin
  Result := (aByte and (1 shl aBitNum)) > 0;
end;
Das niedrigste Bit hat die Nummer 0, das höchste die Nummer 7. Wenn das Bit gesetzt ist, dann wird True zurückgegeben sonst False.

Das Prinzip ist, dass man das Byte mit einem anderen Byte, in dem nur das zu testende Bit gesetzt ist, and-verknüpft. Beispielsweise soll das 6. Bit überprüft werden:

Bit gesetzt:
Code:
    x1xxxxxx
and 01000000
------------
    01000000
Bit nicht gesetzt:
Code:
    x0xxxxxx
and 01000000
------------
    00000000
Die anderen Stellen (die mit x markiert sind) sind egal, da immer gilt: x and 0 = 0. Das zweite Byte wird durch eine shl-Operatein erzeugt. Ausgegeangen wird vom Byte 00000001. Die 1 wird dann um die gewünschte Anzahl stellen mit shl nach links verschoben.

MfG,
d3g
-- Crucifixion?
-- Yes.
-- Good. Out of the door, line on the left, one cross each.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:11 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-2025 by Thomas Breitkreuz