Geht so:
xxxx=&B00000x00 or &B00000100
xxxx=xxxx and &B00000x00
nennt man maskieren oder so. Mit And und Or kannst du sehr viel machen. Viel erfolg
So hab ein kleines Problem, ich will die Bits eines Bytes verändern ( Bitmanipulation) aber ich hab kein Plan wie das in Bascom gehen soll.
Beispiel:
das 3. Bit eines Bytes soll auf High gesetzt werden also von
&B00000000 nach
&B00000100
ohne die anderen Bits zu verändern also wenn ich zB sowas hab:
&B01010101
und das 4. soll High werden muss das rauskommen:
&B01011101
wie kann ich das lösen? Das es geht weis ich aber wie??????
Geht so:
xxxx=&B00000x00 or &B00000100
xxxx=xxxx and &B00000x00
nennt man maskieren oder so. Mit And und Or kannst du sehr viel machen. Viel erfolg
ich hab noch was viel besseres entdeckt ( beim experimentieren)
das ist in Bascom einfacher als ihr es euch vorstellen könnt:
So probierts mal aus!!!!!!Code:Dim Variable as Byte Variable = &B0000000 Print variable Variable.5 = 1 Print variable END
Unsinn. Mache Bascom bitte nicht schlechter als es ist.Zitat von roboguy
Aus der Hilfe:
HenrikLogical Operators
Logical operators perform tests on relations, bit manipulations, or Boolean operators.
There four operators in Bascom are :
Operator Meaning
NOT Logical complement
AND Conjunction
OR Disjunction
XOR Exclusive or
It is possible to use logical operators to test bytes for a particular bit pattern.
For example the AND operator can be used to mask all but one of the bits
of a status byte, while OR can be used to merge two bytes to create a particular binary value.
Example
A = 63 And 19
PRINT A
A = 10 Or 9
PRINT A
@henrik
Es lag mir nicht daran, Bascom schlecht zu machen. Ich habe lediglich in meiner BASCOM-Version im Hilfe-Index nachgesucht und dort weder eine Referenz zu den booleschen Operationen noch zum Stichwort LOGICAL gefunden - ich muss allerdings gestehen, dass ich nur kurz über die Indexstichwörter geschaut habe und da war es eben nicht dabei.
Lesezeichen