Bitwise operations in gimkit

oh yeah, carrot is also why I am here

1 Like

Let’s break down how the bitwise_and_with_power_of_2 function works:

  1. Function Purpose: This function checks whether a specific bit (corresponding to 2𝑛2n) is set (i.e., equals 1) in the binary representation of a given number.
  2. Function Logic:
  • number >> n: This shifts the binary representation of number to the right by n positions. This effectively isolates the bit at the n-th position.
  • & 1: This performs a bitwise AND operation with 1, which checks whether the isolated bit is 1 (if the result is non-zero) or 0 (if the result is zero).
  1. Return Value:
  • If the n-th bit of number is 1, the function returns 2𝑛2n.
  • If the n-th bit of number is 0, the function returns 0.
  1. Example Usage: Let’s analyze the example provided:


Copy code

number = 2863311530  # Binary: 10101010101010101010101010101010
n = 0
result = bitwise_and_with_power_of_2(number, n)
print(result)  # Output will be 1
  • number in binary: 10101010101010101010101010101010
  • Bit at position n=0: 0
  • (number >> n) & 1 evaluates to (2863311530 >> 0) & 1, which simplifies to 2863311530 & 1.
  • 2863311530 & 1 equals 0.
  • Therefore, the function returns 0 because the bit at position n=0 of number is 0.
  1. Summary:
  • The function bitwise_and_with_power_of_2 is designed to check if a specific bit in the binary representation of a number is set and returns the corresponding power of 2 if true, or 0 if false.

In the provided example, since the bit at position n=0 of number is 0, the output of result is 0. If you change n to 1, 2, etc., you can check different bit positions accordingly. is what chat gpt said

1 Like

imo while loops are better, but for loops are insanely useful too. (also I’m back yay :slightly_smiling_face:)

1 Like

Oh yeah I forgot to mention that I needed this for my 3D renderer lol, I don’t think I ever said that.