Bitwise XOR (bxor, ^)
Description
Creates a new column that retrieves the Bitwise XOR of the specified arguments. Bitwise operations consider operands as bit patterns (zeros and ones) and work at the level of their individual bits.
The Bitwise XOR operation compares the equal-length binary representations of the selected pair of arguments and performs the logical exclusive OR operation. The result in each position is 1 if only the first bit is 1 or only the second bit is 1, but will be 0 if both are 0 or both are 1. The result is then transformed and given in decimal format.
For example, if you add values 7Â and 9Â as arguments...
7 → 0111
9 →  1001
...the result is 1110, which is converted to its corresponding decimal value (14)
How does it work in the search window?
Select Create column in the search window toolbar, then select the Bitwise XOR operation. You need to specify two arguments:
Argument | Data type |
---|---|
Number mandatory | integer |
Number mandatory | integer |
The data type of the values in the new column is integer.
Example
The examples in this article use values in a data table generated from the following CSV file.
If you want to try the example for yourself, download the file and upload it to your domain clicking Data upload in the navigation pane. Name the new table my.upload.sample.data
and select Current date as Date parsing type. Learn more about uploading data in Uploading log files.
After receiving the confirmation message, you can access the table from the Finder, selecting my → upload → sample → data. When you upload data from a file, all the information is included in a single column called message. To split the values and extract those we need for this operation into a new column, you can use the Split operation. Click Toggle Query Editor in the search window toolbar and paste the following LINQ query to save time:
from my.upload.sample.data
select split(message, ";", 17) as posNumbers1
select split(message, ";", 18) as posNumbers2
select int(posNumbers1) as posNumbers1_int
select int(posNumbers2) as posNumbers2_int
We want to get the Bitwise XOR of the values in the posNumbers1_int and posNumbers2_int columns. To do it, we will create a new column using the Bitwise XOR operation. Let's call the new column bitXOR
The arguments needed to create the new column are:
Number - posNumbers1_int column
Number - posNumbers2_int column
Click Create column and you will see the following result:
How does it work in LINQ?
Use the operator select
... as
... and add the operation syntax to create the new column. These are the valid formats of the Bitwise XOR operation:
bxor(integer1, integer2)
integer1Â ^Â integer2
Example
You can copy the following LINQ scripts and try the above example on the my.upload.sample.data
 table.
from my.upload.sample.data
select split(message, ";", 17) as posNumbers1
select split(message, ";", 18) as posNumbers2
select int(posNumbers1) as posNumbers1_int
select int(posNumbers2) as posNumbers2_int
select bxor(posNumbers1_int, posNumbers2_int) as bitXOR
or
from my.upload.sample.data
select split(message, ";", 17) as posNumbers1
select split(message, ";", 18) as posNumbers2
select int(posNumbers1) as posNumbers1_int
select int(posNumbers2) as posNumbers2_int
select posNumbers1_int ^ posNumbers2_int as bitXOR