Bitwise NOT (bnot, ~)
Creates a new column that retrieves the Bitwise NOT 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 NOT operation uses the two's complement arithmetic to calculate the complement of the specified values, using the following formula:
NOT x = -x − 1
How does it work in the search window?
Select Create column in the search window toolbar, then select the Bitwise NOT operation. You need to specify one argument:
The data type of the values in the new column is integer.
The examples in this article use values in a data table generated from this 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 into different columns, you can use the Split operation. Click Toggle Query Editor in the search window toolbar and paste the following LINQ query to save time:
select split(message, ";", 16) as posNumbers1
select int(posNumbers1) as posNumbers1_int
we want to get the Bitwise NOT of the values in the posNumbers1_int column. To do it, we will create a new column using the Bitwise NOT operation. Let's call the new column bitNOT.
The arguments needed to create the new column are:
- Number - posNumbers1_int column
Click Create column and you will see the following result:
How does it work in LINQ?
Use the operator
as... and add the operation syntax to create the new column. These are the valid formats of the Bitwise NOT operation:
You can copy the following LINQ scripts and try the above example on the
from my.upload.sample.data select split(message, ";", 16) as posNumbers1 select int(posNumbers1) as posNumbers1_int select bnot(posNumbers1_int) as bitNOT
from my.upload.sample.data select split(message, ";", 16) as posNumbers1 select int(posNumbers1) as posNumbers1_int select ~(posNumbers1_int) as bitNOT