Yes:Is there any other method to do the above task?
if Check.0[Days]=1 then goto whatever
Cheers
Al.
Yes:Is there any other method to do the above task?
if Check.0[Days]=1 then goto whatever
Cheers
Al.
All progress began with an idea
Check.0[Days] tells PBP to treat Check as a bit array with Days as the bit index pointer.
Since Check is a byte PBP will treat it as an 8-bit array. The lowest bit will be 0, and the
highest bit will be 7.
If Days = 5; then IF Check.0[Days]=1 will be testing bit position 6 in Check if you're
counting bit positions in Check from left-to-right as 87654321.
Then you would use; IF Check.0[Days-1]=1 THEN.
If you're counting bit positions in Check from left-to-right as 76543210 then it would work
with; IF Check.0[Days]=1 THEN.
Last edited by Bruce; - 10th December 2010 at 23:13. Reason: Better explanaition
Thanks for the explanation, few clarifications:
1) Do bits get counted from right to left OR left to right?
I mean to say isn't that Check.0[Days]=1 should check bit 4? (Assuming Days=5)
2) What can I do if Check is a word and I want to check:
a) Bit 15 & Bit 3 (Just want to know)
b) Lower byte value & higher byte value
___________________
WHY things get boring when they work just fine?
These threads should make it easier for you;
http://www.picbasic.co.uk/forum/showthread.php?t=544
http://www.picbasic.co.uk/forum/showthread.php?t=3753
Thanks Bruce, the topics have really been helpful.
After reading them, I still have one question (Just want to confirm)
Please correct me if I am wrong :
Check=[bit7,bit6,bit5,bit4,bit3,bit2,bit1,bit0]
To access bit7 of Check variable (byte) : Should it be
Check.0[days] ; Days =7 in this example
Similarly :
To access bit1 of Check variable (byte) : Should it be
Check.0[days] ; Days =1 in this example
___________________
WHY things get boring when they work just fine?
Bookmarks