シフト【shift】

概要

シフトとは変わる、ずらす、移すなどの意味を持つ英単語。IT分野ではキーボード修飾キーや、ビット列を移動させる演算、配列の先頭要素を操作する関数など、いくつかの異なる意味で用いられる。

Shiftキー

キーボードの「Shiftキー」は、押しながら他のキーを入力することで通常とは異なる文字を入力するための修飾キーである。英字キーでは大文字、数字キーでは記号が入力される。この仕組みはタイプライターで活字の位置をずらして大文字と小文字を切り替えていた構造に由来する。

ビットシフト

論理回路プログラミングの分野では、ビット列を指定した桁数だけ左右に移動させる操作を「ビットシフト」または「シフト演算」という。ビット列符号なし整数の場合、左シフトは2の累乗倍の乗算、右シフトは2の累乗による除算に相当し、専用のシフト命令によって高速に実行できる。

符号付き整数では最上位桁が符号ビットとなるため、これを無視して全体をシフトさせる「論理シフト」と、符号ビットを固定して残りのビット列だけ移動させる「算術シフト」を目的に応じて使い分ける。あふれたビットを反対側へ移して循環させる「ローテート」というバリエーションもある。乗除算命令より高速に処理できる場合があることから、数値演算の最適化にも利用される。

配列のshiftメソッド

配列を扱うプログラミング言語の中には、配列の先頭要素を取り除いてその値を返す「shift」という関数やメソッドを備えるものがある。この操作を行うと、2番目以降の要素が前方へ詰められ、配列全体の長さが一つ減る。反対に、配列の先頭に新しい要素を追加する関数やメソッドは「unshift」と呼ばれ、追加された要素の分だけ既存の要素は後方へずれる。これらは配列の末尾を操作する「push」や「pop」と組み合わせて使われることが多い。

(2026.6.27更新)
 
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。