eolas/neuron/dc239556-fd21-4147-b56e-3d8b474984ad/Bitwise_operators.md
2024-12-20 13:12:10 +00:00

1.7 KiB

id tags created
t127
binary
Saturday, April 20, 2024

Bitwise operators

In addition to mathematical, logical and comparison operators, there are bitwise operators. These operators execute conditions based on the actual bits of a value rather than the values that the bits are encoded to represent.

Bitwise operators are typically represented with single characters of existing operators, e.g. & instead of &&:

Bitwise operation Operator
AND &
OR (single pipe)
NOT ~

An example of using the & operator:

x = 5
y = 3
a = x & y
b = x | y

The value of a will be 1. The reason is we are looking at the bit values of x and y and then applying Boolean AND to each bit:

x = 5 = 0101
y = 3 = 0011
a = 1 = 0001

Working from right to left for each column:

  • true and true = true
  • false and true = false
  • true and false = false
  • false and false = false

This leaves us with 0001 which is equal to 1 in binary and denary.

For the case of bitwise OR we get 7 as the result of x | y:

x = 5 = 0101
y = 3 = 0011
b = 7 = 0111
  • true or true = true
  • false or true = true
  • true or false = true
  • false or false = true

This leaves us with 0111 which is equal to 7 in denary.

Why use them?

Bitwise operations are more of a hallmark of lower-level programming. As bit operations are the fastest and lowest level of computation, being able to directly access and operate on bits within a programming language can be beneficial when efficiency and speed of execution is a factor or when memory is constrained.