🔟

コンピュータで10進数の数値を扱う仕組み

2024/07/31に公開

導入

2進数とは、0と1の組み合わせで数値を表現する方法のこと(例:110100001)
10進数とは、0,1,2,3,4,5,6,7,8,9の組み合わせで数値を表現する方法のこと(例:417)

コンピュータで2進数を使う理由については以下をご確認ください
https://zenn.dev/417yr/articles/c6b0dce4804874

コンピュータは2進数しか扱えないですが、
だからと言ってコンピュータに処理してもらうために
普段10進数を使う私たちが、2進数を扱うのは難しいです。

扱うのが難しいとはどういうことかというと、
0と1以外の数字(2,3,4,5,6,7,8,9)を使うことができないからです

コンピュータで10進数の数値を扱う仕組み

そこで、下記のように2進数と10進数を相互に変換することによって、
コンピュータに対して10進数を扱うことが可能になります。

この変換はコンピュータの基本的な操作の一つです。

【JavaScriptでの変換例】

  1. 人間が10進数「3」を入力する  例:console.log(3);
  2. 10進数「3」 → 2進数「11」 に変換される
  3. コンピュータが2進数「11」を認識する
  4. コンピュータが2進数「11」を出力する
  5. 2進数「11」 → 10進数「3」 に変換される
  6. コンソールに10進数「3」が出力される

補足:人間が2進数や16進数を入力する場合

私たちは通常10進数の数値を使いますが、
2進数や16進数など別の進数を使い数値を表現することも可能です。

  • 私たちが2進数を用いる際は2進数の頭に「0b」を付け足します
    • 例:0b1010
    • bはbinary(2進数)の頭文字
    • bは大文字/小文字どちらでも可
  • 私たちが16進数を用いる際は16進数の頭に「0x」を付け足します
    • 例:0xA
    • xはHexadecimal(16進数)を表す
    • xは大文字/小文字どちらでも可
    • 16進数部分も大文字/小文字どちらでも可

【JavaScriptでの変換例】

  1. 人間が16進数「0xA」を入力する  例:console.log(0xA);
  2. 16進数「0xA」 → 2進数「1010」 に変換される
  3. コンピュータが2進数「1010」を認識する
  4. コンピュータが2進数「1010」を出力する
  5. 2進数「1010」 → 10進数「10」 に変換される
  6. コンソールに10進数「10」が出力される

Discussion