LoginSignup
0
0

More than 3 years have passed since last update.

人間は10進数でコンピューターは2進数

Posted at

はじめに

プログラミングを学んだ時、2進数を知りました。
しかし、業務で使うわけではないので、流して来ましたが、プログラムはなぜ動くのか 第2版 知っておきたいプログラムの基礎知識を読み、2進数について気になり調べたことを共有いたします。

内容は人間とコンピューターと数え方の違いと2進数の計算方法になります。

2進数とは

二進数とは

「0」と「1」の組み合わせで表現される数字

であり

「0」「1」「10」……のように、それぞれの桁の数字が「2」になると桁上がりする数字のこと

です。

人間は10進数、コンピューターは2進数

人間は10進数で数えるが、コンピューターは10進数で数えることができず、
2進数を使います。

言語ごとに数値の言い方が違うのと同じ様なことかな:thinking:

言語 1 2 3 4
日本語 いち さん よん
英語 one two three four
中国語 イー アル サン スー
数進数 ■■ ■■■ ■■■■
2進数 1 10 11 100
10進数 1 2 3 4

なぜコンピューターは2進数を使うのか?

コンピューターはICを使って数字を数えます。
しかし、ICは、1本のピンで0Vと5Vの2つの状態しか表すことができません。

そのため0、1、10、11、100と数えます。
Untitled Diagram.png

 なぜ人間は10進数を使うのか?

諸説はあるものの、人間の手足の指の本数に由来しているためらしいです。
Audi R8

 2進数計算方法

まずは重みについて知りましょう。

10進数なら下位桁から1,10,100,1000,…と,桁が上がるごとに10倍されていきます。2進数の場合は,下位桁から1,2,4,8,…と桁が上がるごとに2倍されていきます。これを桁の「重み(おもみ)」と言います。10進数だから10倍,2進数だから2倍なのだと考えてください。

【5分で覚えるIT基礎の基礎】ゼロから学ぶ2進数 第2回

数値とは、その数値を構成する各行の数値に重みをかけた値を合計した結果で表します。

数進数 1桁目 2桁目 3桁目 4桁目
2進数 2の0乗(=1) 2の1乗(=2) 2の2乗(=4) 2の3乗(=8)
10進数 10の0乗(=1) 10の1乗(=10) 10の2乗(=100) 10の3乗(=1000)

10進数で数値を表すときは

数値 1桁目 2桁目 3桁目 4桁目 5桁目 6桁目 7桁目 8桁目 計算方法
39 9×10⁰ 3×10¹ 0×10² 0×10³ 0×10⁴ 0×10⁵ 0×10⁶ 0×10⁷ 0+0+0+0+0+0+30+9
164 4×10⁰ 6×10¹ 1×10² 0×10³ 0×10⁴ 0×10⁵ 0×10⁶ 0×10⁷ 0+0+0+0+0+100+60+4

2進数で数値を表すときは

数値 1桁目 2桁目 3桁目 4桁目 5桁目 6桁目 7桁目 8桁目 計算方法
39 1×2⁰ 1×2¹ 1×2² 0×2³ 0×2⁴ 1×2⁵ 0×2⁶ 0×2⁷ 0+0+32+0+0+4+2+1
164 0×10⁰ 0×10¹ 1×10² 0×10³ 0×2⁴ 1×2 0×2⁶ 1×2⁷ 128+0+32+0+0+4+0+0

参考

二進数
なぜコンピューターは2進数を使うのか
【基本情報】なぜ、コンピュータで2進数を使うの?
数学的に美しいのは「12進法」なのに私たちが「10進法」を使っている理由

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0