Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What does tilde(~) operator do?

Tags:

c

cryptography

People also ask

What does the tilde operator do?

In mathematics, the tilde operator (Unicode U+223C), sometimes called "twiddle", is often used to denote an equivalence relation between two objects. Thus "x ~ y" means "x is equivalent to y".

What does tilde operator do in Java?

The Tilde ( ~ ) performs a bitwise complement of a numerical value in Java.

What does tilde operator mean in Python?

What is tilde (~) operator in Python? PythonServer Side ProgrammingProgramming. The bitwise operator ~ (pronounced as tilde) is a complement operator. It takes one bit operand and returns its complement. If the operand is 1, it returns 0, and if it is 0, it returns 1.

What does tilde mean in assembly?

Last updated: September 8, 2017. In JavaScript, the tilde ~ Bitwise NOT operator is commonly used right before an indexOf() to do a boolean check (truthy/falsy) on a string. On its own, indexOf() returns the index number of a String object passed in.


The ~ operator in C++ (and other C-like languages like C and Java) performs a bitwise NOT operation - all the 1 bits in the operand are set to 0 and all the 0 bits in the operand are set to 1. In other words, it creates the complement of the original number.

For example:

10101000 11101001 // Original  (Binary for -22,295 in 16-bit two's complement)
01010111 00010110 // ~Original (Binary for  22,294 in 16-bit two's complement)

In your example, ch=~((ch^i)) performs a bitwise NOT on the bitwise XOR of ch and i then assigns the result to ch.

The bitwise NOT operator has an interesting property that when applied on numbers represented by two's complement, it changes the number's sign and then subtracts one (as you can see in the above example).

You may want become familiar with the different operators of the C++ language since it is difficult to search for operators on search engines. Better yet, you can get a good C++ book which will tell you about the C++ operators.


The ~ operator inverts all the bits. So 10000001 becomes 01111110.


It is the bitwise complement operator. Given the input

010011101

returns the output:

101100010