本サイトにはプロモーションが含まれています

実務に生かすPythonサンプル

Pythonで2進数を使いこなす方法【現役エンジニアが解説】

こんにちは。現役Webエンジニアの三年坊主です。

 

今回は、Pythonで2進数を使いたい人の、このような疑問に答えます。

「Pythonで2進数を使いたい。普段使いの整数(10進数)と2進数・それ以外の進数を自由に行き来できるようにしたい。一応、2進数とは何か、簡単に確認もしておきたい。」

 

 

この記事では、大学の研究と自分の趣味で、合わせて5年以上Pythonを使ってきた経験を生かして、Pythonで2進数を使う方法を紹介します。

 

この記事の内容

  • 2進数とは【基礎知識を確認】
  • Pythonで整数を2進数(・8進数・16進数)で記述する
  • Pythonで整数(10進数)→2進数(・8進数・16進数)の文字列に変換したい
  • Pythonで2進数(・8進数・16進)数の文字列→整数(10進数)に変換したい

 

2進数とは【基礎知識を確認】

「2進数」とは、2を基数として表現した数値のことです。

 

「『基数』ってなんだっけ?」

 

 

「基数」とは、数値を表現する際に、位取りの基準となる数のことをいいます。

 

たとえば、普段の生活で一番身近に使っている10進数は、

0,1,2,3,4,5,6,7,8,9→10,11,…,99→100,…

と10倍ごとに桁が上がっていくので、基数は10となります。

 

2進数では、

0,1→10,11→100,101,…,111→1000,…

のように、2倍ごとに桁が一つずつ上がっていきます。このとき、基数は2になります。

 

「進数」は表現の形式なので、たとえば上で赤字になっている10進数の「2」と2進数の「10」は、形式が違いますが、値としては同じ整数を意味しています。

 

Pythonで整数を2進数(・8進数・16進数)で記述する

普段使っている整数の前に、’0b’、’0o’、’0x’をつけると、それぞれ2進数・8進数・16進数で整数を表現できます。

すべて、Pythonのint型として扱われます。

 

 

 

Pythonで整数(10進数)→2進数(・8進数・16進数)の文字列に変換したい

組み込み関数bin(), oct(), hex()を使って、整数(10進数)から2進数・8進数・16進数をあらわす文字列に変換します。

format(), str.format() を使って書式を設定する方法もあります。

 

2進数

 

8進数・16進数

 

 

2進数の組み込み関数bin()の中身

組み込み関数bin()はPython2.6で導入されたので、それ以前のバージョンを解説している記事では、自作のメソッドを紹介しているものもいくつかあるようです。

 

あまり深入りはしませんが、組み込み関数bin()の内部を少しだけ覗いてみると、このようなことも分かります。

  • 組み込み関数の多くはC言語で書かれている
  • 内部で呼ばれているPyNumber_ToBase自体は2, 8, 16以外の数字を基数とすることもできそう

 

builtin_bin

 

PyNumber_ToBase

 

 

Pythonで2進数(・8進数・16進数)の文字列→整数(10進数)に変換したい

組み込み関数int()eval()を使って、2進数・8進数・16進数の文字列を整数(10進数)に変換します。

 

2進数

 

8進数・16進数

 

 

Pythonで2進数を使いこなして、快適なエンジニア生活を送りましょう。

【2020年版】Pythonインストール・Mac編【長く安全に使える環境構築】PythonをMacにインストールする環境構築方法を具体的に紹介します。インストール後、バージョン切り替え・アップデート・アンインストールが気軽にできて、Pythonを長く安全に使える方法です。この記事を読んでMacで楽しいPythonライフをはじめましょう!...

 

より本格的にPythonを学ぶなら

より本格的にPythonを学びたい場合には、プログラミングスクールを活用するのがオススメです。

プログラミングスクールって、「プログラミングって何?」みたいな超初心者だけのものと思っていませんか?

最近では、経験者向けにも、レベルや希望に合わせた様々なコースが展開されています。

オススメなのが、Aidemyです。

特徴は、人工知能特化型のプログラミング学習サービスということ。

Pythonを学べるコース

  • AIアプリ開発コース(画像認識)
  • データ分析コース(数値予測)
  • 自然言語処理コース
  • E資格対策コース
  • クラウドAI開発コース
  • 実戦データサイエンスコース

Aidemyの教材は「理論よりもまずは実践」をうたっていて、他社と比較すると、かなり本格的に、現場でも実際に使われるスキルを身につけられます。

そして、どのコースも同じ料金で受け放題

余裕があれば、AIアプリ開発コースの内容と、クラウドAI開発コースの内容を組み合わせて学習することもできてしまいます。

無料のカウンセリングで、不明点や学習したい内容をまずは相談してみましょう。

» Aidemyの無料カウンセリングはこちら

 

もう一つオススメなのが、TechAcademyです。

オンラインプログラミングスクール受講者数No.1の実績に加えて、受講生限定の転職サポートもあり、TechAcademyで学んだスキルを生かせる職場への転職も可能です。

「セット割」を活用すると、Pythonを使った人工知能・データ分析のスキルを過不足なく身につけられます。

1週間の無料体験があるので、システムの使い心地やサポート体制をのぞいてみるのがいいかなと思います。

» TechAcademyの無料体験はこちら

 

どちらのスクールも質問サポートが充実していて、早ければその場で、遅くとも次の日には疑問が解消するので、

「独学でプログラミングを勉強してきたけど、行き詰まるたびに時間が奪われるし、周りに気軽に聞ける人もいない」

みたいな無駄な一日を過ごすことがなくなります。

 

以上、Pythonを本格的に学べるプログラミングスクールを2校紹介しました。どちらも最初に20〜30万円くらいの投資が必要ですが、実際にスキルを身につけてしまえば、あとで簡単に回収できるはずです。例えば、

  • Pythonエンジニアに転職して年収を上げる:50万円
  • 副業で業務委託:20万円(時給5,000円で週10時間、1か月)
  • クラウドソーシングの単発案件:5〜10万円

このように、プログラミングスクールにお金を払ってもすぐに回収できることが分かると思います。

実際に、Pythonを使う業務委託で時給5,000円というのは普通にあるので、スキルをつけたら「週末にちょっと作業」を1〜2か月続けるだけですよね。

Google検索で問題解決するのもいいですが、「毎回ちょっと場当たり的に対応していて苦しいな・・・」と感じているあなたは、一度腰を据えてPythonを本格的に学ぶことを選択肢に入れてみてはいかがでしょうか。

記事で紹介したプログラミングスクールの一覧

  • Aidemy→人工知能特化、無料カウンセリングあり
  • TechAcademy→受講者数No.1、1週間の無料体験あり

RELATED POST

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください