Skip to content

Bitwise Invert

The bitwise inversion operation receives a quantum register representing some number \(x\), and inverts its binary representation, namely, replaces \(1\)s by \(0\)s and vice versa. If the inplace flag is set to True, the original register is overridden by the result. Otherwise, it is available as an output.


Function: BitwiseInvert


  • arg: RegisterUserInput (see RegisterUserInput)
  • output_size: Optional[PositiveInt]
  • inplace: bool = False

Register names:

  • arg: arg
  • result: inverted

Example 1

  "functions": [
      "name": "main",
      "body": [
          "function": "BitwiseInvert",
          "function_params": {
            "arg": {"size": 7, "fraction_places": 3, "is_signed": true},
            "inplace": true
from classiq import Model, RegisterUserInput, synthesize
from classiq.builtin_functions import BitwiseInvert

params = BitwiseInvert(
    arg=RegisterUserInput(size=7, fraction_places=3, is_signed=True),
model = Model()
quantum_program = synthesize(model.get_model())