
補助ビットは、古典的な可逆コンピューティングや量子コンピューティングなど、可逆演算を必要とするコンピューティングパラダイムで使用される追加のビット(情報単位)です。ビットを自由に0または1に設定できる古典的なコンピューティングとは異なり、可逆コンピューティングでは、コンピュータメモリ上のすべての演算が可逆である必要があります。初期状態が既知である補助ビットは、そうでなければ情報を消去してしまうような演算を実行するために必要な「作業空間」を提供します。補助ビットは、複雑な論理ゲートを実装し、これらの可逆モデル内での普遍的な計算を可能にする上で重要な役割を果たします。
量子コンピューティングにおいては、特に明示的に定められていない限り、補助ビット(量子ビット)の値は計算解除する必要がある。なぜなら、そうしないと不要な量子もつれが生じ、計算結果が無効になる可能性があるからである。
補助ビットは複雑な演算を簡略化できる。例えば、補助ビットを用いてトフォリゲートを制御することで、制御NOTゲートやNOTゲートのようなより単純なゲートにすることができる。[ 1 ]: 29
古典的な可逆計算では、定数 O(1) 個の補助ビットが普遍計算に必要かつ十分である。[ 2 ] 追加の補助ビットは厳密には必要ではないが、追加の作業空間を提供し、より少ない論理ゲートを使用したより単純な回路構成につながる。[ 1 ] : 131
補助ビットの概念は、量子コンピューティングにおいては補助量子ビットという形で拡張することができ、例えば量子誤り訂正などに利用できる。[ 3 ] 量子コンピューティングにおける補助量子ビットの使用例として、Deutsch–Jozsaアルゴリズムが挙げられる。
量子触媒は、補助量子ビットを使用してエンタングル状態を保存し、通常の局所操作と古典通信(LOCC)では不可能なタスクを可能にします。[ 4 ]