Logical Shifts

Understanding Logical Shifts

  • Logical Shifts are operations that shift all bits of a binary number to the right or left.
  • These types of shifts fill any resulting spaces with 0’s.

Logical Right Shifts

  • A logical right shift pulls all bits one place to the right, with the leftmost bit becoming 0.
  • The rightmost bit is discarded.
  • For example, if we logically right-shift the binary number 1101 (which is 13 in decimal), we get 0110 (which is 6 in decimal).

Logical Left Shifts

  • A logical left shift pulls all bits one place to the left, with the rightmost bit becoming 0.
  • The original leftmost bit is discarded.
  • For example, if we logically left-shift the binary number 1101 (which is 13 in decimal), we get 1010 (which is 10 in decimal).

Practical Use of Logical Shifts

  • Logical shifts are extremely useful for multiplication and division by powers of two.
  • They provide a quick and efficient way to perform these operations in binary.
  • The rules are simple: A logical left shift doubles the original number, while a logical right shift halves the original number (discarding any remainder).

Important Considerations for Logical Shifts

  • A key aspect to remember about logical shifts is that they do not consider the sign of a number. That is, they do not take into account if a number is negative or positive.
  • Therefore, logical shifts should be used carefully when dealing with signed (positive or negative) numbers.