ビット論理積代入演算子「&=」

ビット論理積代入演算子「&=」とは、ビット単位で、論理積(AND)の処理を行い、左のオペランド(演算子引数)の変数に代入する演算子のこと。

左右のオペランド(演算子引数)の値を2進数に変換し、各桁(ビット)の数値(「0」か「1」)が、共に「1」である桁を「1」とする。最後に、演算結果を10進数に戻し、左のオペランド(演算子引数)の変数に代入する。

構文

変数 &=;

変数 = 変数 &;と同じ。

サンプル

10進数
2進数
1
1

解説

「5」を、2進数で表すと「101」。「9」を、2進数で表すと「1001」。共に1桁目が「1」なので、「1」(2進数で表すと「1」)になる。

ソースコード

<style type="text/css">
<!--
.sampleItem div {
    float: left;
    width: 60px;
    text-align: right;
}
-->
</style>
<div class="sampleItem">
    <div>10進数</div>
    <div>2進数</div>
</div>
<script type="text/javascript">
var sampleA = 5;
var sampleB = 9;
sampleA &= sampleB;
document . write( "<div class=\"sampleItem\">" );
document . write( "<div>" + sampleA + "</div>" );
document . write( "<div>" + sampleA . toString(2) + "</div>" );
document . write( "</div>" );
document . write( "<div style=\"clear: left;\"></div>" );
</script>

スポンサード リンク

カテゴリー: JavaScript, リファレンス, 演算子 パーマリンク