🦁

Goの「<<」とか「>>」って何?

に公開

はじめに

A Tour of Goをやっていたら「<<」とか「>>」が出てきてこれが何を表しているのか分からなかったため記事にします。
 

結論

const (
	Big = 1 << 100
	Small = Big >> 99
)

<<>>はビット演算子と呼ばれるもの。
これにより数値を2進法で表したときに左にずらしたり、右にずらしたりすることができます。

ではBig = 1 << 100を例に見てみます。
これは1を100個左にずらしています。つまり2進法で1000000・・・というように1の後に0が100個ついた数値を表しています。

次にSmall = Big >> 99を例に見てみます。
1を100個左にずらしたBigを右に99個ずらすのでトータルでは1を左に1個ずらしたことになります。
つまり2進法で10(2)、10進法で2を示しています。

Discussion