BIT_AND macro
The BIT_AND macro is available in IBM® Campaign and IBM® Interact.
Syntax
data1 BIT_AND data2 data1 & data2
Parameters
data1
The non-negative integers to bitwise AND with the values in data2. This can be a constant value, a column, a cell range, or an expression evaluating to any of the above. For the format definition of data, see the "Macro Function Parameters" section in the chapter in this guide for your IBM® product.
data2
The non-negative integer(s) to bitwise AND with the values in data1. This can be a constant value, a column, a cell range, or an expression evaluating to any of the above. The number of columns in data2 must equal the number of columns in data1, unless data2 is a constant. For the format definition of data, see the "Macro Function Parameters" section in the chapter in this guide for your IBM® product.
Description
BIT_AND performs a bitwise AND between the two specified data ranges. It returns a new column for each input column, each containing the corresponding column in data1 bitwise AND-ed to the corresponding column of data2 (that is, the first column of data1 is bitwise AND-ed to the first column of data, the second column with the second column, and so on).
If data2 is a constant, each value in data1 is bitwise AND-ed by that value. If data2 contains one or more columns, the calculations are performed on a row-by-row basis between one column from data2 and one column from data2. The first row of data1 is bitwise AND-ed to the first row value of data2, the second row with the second row, and so on. This row-by-row calculation produces a result for each row up to the last value of the shortest column.
*
*
The BIT_AND operator can be abbreviated with an ampersand (&). Use the ampersand to separate the two arguments (for example, to specify BIT_AND(V1, 3), you can simply type V1&3.
Examples
TEMP = 3 BIT_AND 7 or TEMP = 3 & 7
Creates a new column named TEMP containing the value three (bitwise AND of 011 and 111 equals 011).
Creates a new column named TEMP, where each value is the contents of column V1 bitwise AND-ed with the binary value 1000.
Creates a new column named TEMP containing the same contents as the column V1 (every value AND-ed with itself produces itself).
Creates a new column named TEMP, where each value is the row value of column V1 bitwise AND-ed with the corresponding row value of column V2.
Creates three new columns named TEMP, VX, and VY. The column TEMP contains the values in V1 bitwise AND-ed with the corresponding row values of column V4. The column VX contains the bitwise AND-ed values from columns V2 and V5. The column VY contains the bitwise AND-ed values from columns V3 and V6.
TEMP = V1[10:20] & V2 or TEMP = V1[10:20] & V2[1:11]
Creates a new column named TEMP, where the first 11 cells contain the bitwise AND-ed result of the values in rows 10-20 of column V1 by the values in rows 1-11 of column V2. The other cells in TEMP are empty.
Related functions
BIT_XOR or XOR