OR

From QB64 Wiki
Revision as of 03:16, 1 November 2017 by imported>Odin (1 revision imported)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The OR numerical operator returns a comparative bit value of 1 if either value's bit is on.


Syntax

result = firstValue OR secondValue


Description

  • 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 T and F indicate that a bit is set or not set:
Operands Operations
A B NOT B A AND B A OR B A XOR B A EQV B A IMP B
T T F T T F T T
T F T F T T F F
F T F F T T F T
F F T F F F T T
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.



Examples

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


See also



Navigation:
Go to Keyword Reference - Alphabetical
Go to Keyword Reference - By usage
Go to Main WIKI Page