TypeScriptはJavaScriptの拡張であり、ビット演算はその中でも特にパワフルな機能の一つです。ビット演算にはさまざまな種類があり、その中でもXOR(排他的論理和)演算子はデータの特定のビットを反転させるために利用されます。
TypeScriptでのXOR演算子
TypeScriptでは、XOR演算子は^
で表されます。この演算子は二進数の各ビットを比較し、対応するビットが異なる場合は1、同じ場合は0を生成します。以下はXOR演算子の基本的な使用法の例です。
let a: number = 5; // 二進数表現: 0101
let b: number = 3; // 二進数表現: 0011
let result: number = a ^ b;
console.log(result); // 結果: 6 (二進数表現: 0110)
この例では、a
とb
のビットごとのXOR演算が行われ、その結果として6
が得られます。
ビット演算の応用例
XOR演算はデータの暗号化や異なるビットの状態を比較するために使用されることがあります。以下は、単純なフラグの切り替えにXOR演算を用いる例です。
const FLAG_A: number = 0b0001;
const FLAG_B: number = 0b0010;
const FLAG_C: number = 0b0100;
let currentFlags: number = FLAG_A | FLAG_C; // FLAG_AとFLAG_Cがセットされていると仮定
// FLAG_Bの切り替え
currentFlags = currentFlags ^ FLAG_B;
console.log(currentFlags.toString(2)); // 結果: 7 (二進数表現: 0111)
この例では、FLAG_A
とFLAG_C
がセットされている状態から、FLAG_B
をXOR演算を使ってトグルしています。
TypeScriptのビット演算は、特に低レベルの操作やデータ処理が必要な場面で威力を発揮します。XOR演算子はその中でも重要な役割を果たし、データセキュリティや効率的なデータ管理に役立つことでしょう。