【今日のQ&A】ビット演算の考え方【Python】

こんにちは、@codeship_techです。

今回はPythonでのビット演算の考え方についての質問をピックアップしました!

ビット演算の左シフトがよく分からない。

左シフトは定義的には2進数に変換して左にシフトさせることで得られる2進数を10進数として返します。

これは簡単にいうと、シフトしようとする値を2^n倍するという意味です。

例えば1<<3なら1*2^3となり8、3<<1なら3*2^10となり3072です。

したがって一見何をしているかよく分からないfor i in range(1<<d):という記述も、2^d回for文を回すというだけの意味になります。

授業日記についてのご意見

CodeShipの授業について「こんな事が知りたい・紹介して」というご意見・ご提案がありましたら、CodeShip公式Twitterアカウント(【CodeShip】プログラミングスクール)までDMまたはリプライにてお寄せください。