通常の“古典コンピューター”がANDゲート(AND gate)、ORゲート(OR gate)、NOTゲート(NOT gate)と、三つのゲートに(0と1を切り換える回路)分解できるのと同じく、量子コンピューターを構築するのに用いられる基本的ゲート。たとえば、アダマールゲート(Hadamard gate)や位相回転ゲート(phase rotation gate)、C-NOTゲート(controlled-NOT gate)、スワップゲート(swap gate)などがある。
アダマールゲートは、入力として一つの量子ビットがあり、それが0または1のとき、0と1の重ね合わせ状態が出力されるゲート(→「重ね合わせの原理」)。
位相回転ゲートは、0と1の相対位相を回転させる、つまり二つの状態の重ね合わせの係数の大きさはそのままに、複素数としての位相だけを回転させるゲート。
C-NOTゲートは、入力として二つの量子ビットAとBがあり、これは量子ビットAが0のとき量子ビットBはそのまま通過し、量子ビットAが1のときBの0と1を入れ替えるという、一つの量子ビットに「NOT」をかけるかどうかを、もう一つの量子ビットが支配するゲート。これが「コントロールNOTゲート」とも呼ばれる所以である。
スワップゲートはその名の通り、量子ビットAとBの状態を入れ替えるゲート。
“古典コンピューター”におけるANDゲートとORゲートは二つの入力ビットから一つのビットを出力する「2入力1出力」のゲートであり、NOTゲートは一つの入力ビットから一つのビットを出力する「1入力1出力」のゲートである。これに対し、量子コンピューターでは入出力関係が可逆でなければならないので、入力する量子ビットの個数と出力される量子ビットの個数は同じでなければならない。たとえば、アダマールゲートや位相回転ゲートは「1入力1出力」のゲートであり、C-NOTゲートやスワップゲートは「2入力2出力」である。さらに、「3入力3出力」のゲートというものもある。たとえば、フレドキンゲート(Fredkin gate)は、入力量子ビットをA、B、Cとするとき、Aの状態が0ならばBもCもそのまま通すが、Aの状態が1ならばBとCにスワップゲートをかけるゲートである。この意味で、「コントロールスワップゲート」と呼んでもよい。
古典コンピューターはANDゲートだけでも、ORゲートだけでも、NOTゲートだけでも構築することはできないが、ANDゲートとORゲートとNOTゲートを使うと、汎用古典コンピューターを構築することができる。これと同様に、アダマールゲートと位相回転ゲートとC-NOTゲートは、それぞれ単独で汎用量子コンピューターを構築することはできないが、全部を使うと汎用量子コンピューターを構築することができる。
量子ゲートの物理的実装はそれほど簡単ではなく、光子、電子、スピン、二つの粒子が二つのエネルギー固有状態のみをもつ二準位系など「1入力1出力」のゲートが簡単に作れる物理系では良質の「2入力2出力」ゲートを作ることは容易でなく、逆に不等間隔四準位系など「2入力2出力」のゲートを作ることが容易な物理系では「1入力1出力」のゲートを作ることが容易ではない。四準位系が「不等間隔」であるのは、たとえば四つの準位をもつ系で、四つの準位に00、01、10、11と名前を付けると、10と11のエネルギー差に等しい光を当てるだけで10と11を反転させることができ、これはC-NOTにほかならない。しかし、エネルギー間隔が等間隔だと、同じ光で00と01も、01と10も反転してしまうので、不等間隔である必要がある。また、不等間隔四準位系で「1入力1出力」ゲートの実現が容易でないのは、たとえば、右の量子ビットに触らず左の量子ビットだけNOTをかけようと思えば、00と10のエネルギー差に相当する光と、01と11に相当する光を同時に当てなければならないが、色が異なるこの二つの光は強度も位相も寸分違わずコントロールされていなければならないからである。