OR - mkilgore/QB64pe GitHub Wiki
The OR numerical operator returns a comparative bit value of 1 if either value's bit is on.
- result = firstValue OR secondValue
- If both bits are off, it returns 0.
- If one or both bits are on then it returns 1.
- OR never turns off a bit and can be used only to turn a bit on.
The results of the bitwise logical operations, where A and B are operands, and true or false indicate whether a bit is set or not set:
| ||||||||||||||||||||||||||||||||||||||||||||||||
Relational Operations return negative one (-1, all bits set) and zero (0, no bits set) for true and false, respectively. This allows relational tests to be inverted and combined using the bitwise logical operations. |
Example 1: OR always turns bits on! Never off.
'' '' a% = 5 ' 101 binary b% = 4 ' 100 binary results% = a% OR b% ' still 101 binary using OR PRINT "Results% ="; results% '' '' |
Results% = 5 |
Example 2: Turning a data register bit on.
'' '' address% = 888 'parallel port data register bytevalue% = INP(address%) OUT address%, bytevalue% OR 4 '' '' |
- Explanation: The third register bit is only turned on if it was off. This ensures that a bit is set. OR could set more bits on with a sum of bit values such as: OUT address%, 7 would turn the first, second and third bits on. 1 + 2 + 4 = 7
Navigation:
Go to Keyword Reference - Alphabetical
Go to Keyword Reference - By usage
Go to Main WIKI Page