左シフト代入演算子「<<=」とは、指定したビット数分左へシフトし、変数に代入する演算子のこと。
左のオペランド(演算子引数)の変数の値を2進数に変換し、右のオペランド(演算子引数)の数値分左にシフトし、右を0で埋める。最後に、演算結果を10進数に戻し、左のオペランド(演算子引数)の変数に代入する。
構文
変数 <<= 値;
変数 <<= 式;
サンプル
10進数
2進数
解説
「5」を、2進数で表すと「101」。左へ「1」ビット分移動し、右を「0」で埋めると、「1010」(10進数で表すと「10」)になる。
ソースコード
<style type="text/css">
<!--
.sampleItem div {
float: left;
width: 60px;
text-align: right;
}
-->
</style>
<div class="sampleItem">
<div>10進数</div>
<div>2進数</div>
</div>
<div style="clear: left;"></div>
<script type="text/javascript">
var sampleA = 5;
var sampleB = 1;
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>
<!--
.sampleItem div {
float: left;
width: 60px;
text-align: right;
}
-->
</style>
<div class="sampleItem">
<div>10進数</div>
<div>2進数</div>
</div>
<div style="clear: left;"></div>
<script type="text/javascript">
var sampleA = 5;
var sampleB = 1;
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>