全3373文字

 機械学習やデータ分析分野で定番のプログラミング言語、話題のPythonを使って数学を学び直しましょう。今回は「位取り記数法」を解説します。

 耳慣れない言葉ですが、「位取り記数法」とは「数」を表す方法のことです。私たちが日常で使っているのは「10進位取り記数法」、コンピューターが使うのは「2進位取り記数法」です。2つの違いは、数を数えるときに使える数字の種類です。まずはここからマスターしていきましょう。

10進位取り記数法

 私たちは普段、「10進位取り記数法」というルールに従って数を表現しています。「10進法」という言葉を聞いたことはありませんか? これは、

  • 0、1、2、3、4、5、6、7、8、9の10種類の数字を使う
  • 並べた数字の桁は、右側から順に1の位、10の位、100の位……を表す

という決まりで数を表す方法です。数を数えるときは1、2、3……と順番に使って、9の次は1つ桁が上がって10、11、12……ですね。10種類の数字を使うから10進位取り記数法(または10進法)、このルールで表される数を「10進数」と言います。

 たとえば、「2365」という値。これは「2」「3」「6」「5」というバラバラの数字ではなく、

  1000が2個
  100が3個
  10が6個
  1が5個

これらを全部足した値です。数式で表すと、

  2365=(1000×2)+(100×3)+(10×6)+(1×5)

ですね。1000、100、10、1は「重み」と呼ばれる値で、各桁に意味を持たせるための重要な値です。重みの意味を理解するために、上の式をもう少し変形してみましょう。

  2365
  =(10×10×10×2)+(10×10×3)+(10×6)+(1×5)
  =(10³×2)+(10²×3)+(10¹×6)+(100×5)

 すべての桁の重みが「10の〇乗」であることに気付いたでしょうか。また、10の右肩に乗っている小さな数字(*1)は、右から0、1、2、3……と1つずつ増えています。これは「10進法では桁が1つ繰り上がるごとに、重みは10倍になる」ことを意味しています。

 なお、重みの基本になる「10」は10進法の「10」で、この値を「基数」または「底(てい)」と呼びます。この後に説明する2進法(2進位取り記数法)や16進法(16進位取り記数法)であれば、基数はそれぞれ「2」、「16」になります。

*1 これを「指数」と言います。