Compartir a través de


Operación CompareUsingRippleCarry

Advertencia

Esta documentación hace referencia al QDK clásico, que se ha reemplazado por el QDK moderno.

https://aka.ms/qdk.api Consulte la documentación de la API para el QDK moderno.

Espacio de nombres: Microsoft.Quantum.Arithmetic

Paquete: Microsoft.Quantum.Standard

Esta operación comprueba si un entero representado por un registro de cúbits es mayor que otro entero, aplicando un XOR del resultado en un cúbit de salida.

operation CompareUsingRippleCarry (x : Microsoft.Quantum.Arithmetic.LittleEndian, y : Microsoft.Quantum.Arithmetic.LittleEndian, output : Qubit) : Unit is Adj + Ctl

Descripción

Dadas dos enteros y almacenados x en registros de cúbits de tamaño igual, esta operación comprueba si cumplen x > y.y Si es true, 1 es XORed en un cúbit de salida. De lo contrario, 0 es XORed en un cúbit de salida. En otras palabras, esta operación se puede representar mediante la unidad $$ \begin{align} U\ket{x}\ket{y}\ket{z} = \ket{x}\ket{y}\ket{z\oplus (x>y)}. \end{align} $$

Entrada

x : LittleEndian

Primer número que se va a comparar almacenado en formato en LittleEndian un registro de cúbits.

y : LittleEndian

Segundo número que se va a comparar almacenado en formato en LittleEndian un registro de cúbits.

output: Qubit

Cúbit que almacena el resultado de la comparación $x>y$.

Salida: unidad

Referencias