Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Bit in Byte auf 0 setzen (https://www.delphipraxis.net/78300-bit-byte-auf-0-setzen.html)

Hador 2. Okt 2006 19:28


Bit in Byte auf 0 setzen
 
Hallo,

irgendwie hab ich grad 'n kleinen Blckout.
Ich möchte ein Bit in einem Byte auf 0 setzen.

Auf 1 setzen geht ja folgendermaßen:
Delphi-Quellcode:
var
  B: Byte;
...
  B := B or (1 shl x)
(x ist eine Zahl von 0 bis 7)

Aber wie bekomm ich die 0 dahin.

Die einzige Möglischkeit die mir einfällt, wäre den Byte Bit für Bit zu kopieren und nur das eine auf 0 zu setzen aber das ist ja nicht unbedingt die schnellste Möglichkeit, zumal ich das häufiger hintereinander machen will :wink:

Ich hoffe, ihr könnt mir weiterhelfen.

Gruß Lars

3_of_8 2. Okt 2006 19:30

Re: Bit in Byte auf 0 setzen
 
Delphi-Quellcode:
var
  B: Byte;
...
  B := B and not (1 shl x)

Hador 2. Okt 2006 19:33

Re: Bit in Byte auf 0 setzen
 
Super danke!

Flare 2. Okt 2006 22:47

Re: Bit in Byte auf 0 setzen
 
Davor sollte man aber noch überprüfen ob das Byte schon 0 ist, denn sonst kommt ja logischerweise 1 raus!
(0 and 0) = 1!


Flare

Dax 2. Okt 2006 22:49

Re: Bit in Byte auf 0 setzen
 
Zitat:

Zitat von Flare
(0 and 0) = 1!

Das muss die fortgeschrittene Uhrzeit sein.
Code:
a b  a AND b
0 0   0
0 1   0
1 0   0
1 1   1

Flare 2. Okt 2006 22:51

Re: Bit in Byte auf 0 setzen
 
:oops: Dann eben nicht...


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:55 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz