Skip to main content

This is documentation for Caché & Ensemble.

For information on converting to InterSystems IRIS, see the InterSystems IRIS Adoption Guide and the InterSystems IRIS In-Place Conversion Guide, both available on the WRC Distributions page (login required).

# BITOR

Returns the bitwise OR for two bit strings.

## Synopsis

```BITOR(bitstring1,bitstring2)
```

### Arguments

 bitstring A bit string, specified as an expression that resolves to a positive integer. For example, the integer 64 specifies the bitstring 1000000. The maximum bitstring value is 9223372036854775807.

## Description

The BITOR function compares two bit strings bit-by-bit, and returns a bitstring that is the logical OR bitwise comparison of the two strings. Both bitstring values are specified as positive integers. The returned value is also expressed as a positive integer.

The following is the truth table for BITOR:

 bitstring1 = 0 bitstring1 = 1 bitstring2 = 0 0 1 bitstring2 = 1 1 1

A bitstring can be expressed as either a number or as a string. A number are converted to canonical form, with leading plus signs and leading and trailing zeros omitted. If either argument evaluates to the null string or a non-numeric string it is assumed to have a value of 0. A string is parsed as a number until a non-numeric character is encountered. Thus “7dwarves” is parsed as 7.

## Examples

The following example specifies a bitstring1 of 14 (binary 1110), and a bitstring2 of 9 (binary 1001). Bitwise OR comparison results in the binary string 1111, the integer value of which is 15:

`PRINT BITOR(14,9);  ! Returns 15`

The following example specifies a bitstring1 of 14 (binary 1110), and a bitstring2 of 6 (binary 110). Bitwise OR comparison results in the binary string 1110, the integer value of which is 14:

`PRINT BITOR(14,6);  ! Returns 14`

The following example specifies a bitstring1 of 65 (binary 1000001), and a bitstring2 of 62 (binary 111110). Bitwise OR comparison results in the binary string 1111111, the integer value of which is 127:

`PRINT BITOR(65,62);  ! Returns 127`

The following example specifies two bitstrings with the same integer value. Bitwise OR comparison of a number with itself always results in the number:

`PRINT BITOR(64,64);  ! Returns 64`