ビット操作

TypeScriptでビット操作を行う方法

TypeScriptでビット操作を行う

ビットとは、コンピュータが情報を扱う最小単位であり、0と1の二値で表現されます。ビット操作は、これらのビットに対して直接的な操作を行う手法であり、効率的なデータ処理やアルゴリズムの最適化に役立ちます。

ここでは、TypeScriptを用いたビット操作の基本的な使い方を紹介します。

ビット列の表現

はじめのページに書いた通り入力は文字列で、ビット列を表現するならビットの0と1が連続したものです。例えば"1011"のような文字列をビット列として扱います。 しかし文字列のままではビット操作ができません。ビット列は数値型に直して扱う必要があります。

TypeScriptでは、parseInt関数を使ってビット列の文字列を対応する数値(number型)に変換できます。また、数値はtoString関数を使ってビット列の文字列に戻すことができます。

ビット変換

Loading...
「実行」ボタンをクリックすると、ここに結果が表示されます

ビット列の使用例

ビット列を使用することで、効率的なデータ処理やアルゴリズムの実装が可能になります。以下に使用例を示します。

AさんとBさんが0-9の数字の書かれたカードをそれぞれ持っているとします。同じ数字のカードを持っているかどうかを判定するために、ビット列を使用します。10枚のカードに対応する10ビットのビット列を用意し、各ビットがその数字のカードを持っているかどうかを示します。"1"はカードを持っていることを示し、"0"は持っていないことを示します。

例えば、Aさんが{1, 3, 5, 9}のカードを持っている場合、左を0としてビット列は"0101010001"となります。同様に、Bさんが{2, 3, 6}のカードを持っている場合、ビット列は"0011001000"となります。

AND演算を行えば、簡単に重複を判定できます。2つのビット列のANDを取って"0000000000"つまり数値型の0でない場合は、重複があることになります。

重複の判定

Loading...
「実行」ボタンをクリックすると、ここに結果が表示されます

まとめ

TypeScriptでビット操作を行う方法について説明しました。ビット列の表現方法や基本的なビット操作、使用例を通じて、ビット操作の基礎を理解できたかと思います。

TypeScriptを使う現場での実業務ではなかなか出番がないかもしれませんが、ビット操作は効率的なデータ処理やアルゴリズムの最適化に役立つため、ぜひ活用してみてください。