「10進法を2進法に換算する方法」を数学的に説明するエンジニアが知っておきたい「2進法」と「16進法」【第2回】

コンピュータの世界ではデータを2進法で表現することが一般的だ。われわれの日常生活ではあまりなじみのない2進法を簡潔に解説しよう。

2022年05月05日 08時15分 公開
[Bob ReselmanTechTarget]

 10を底(基数:1桁の単位を示す数)とする10進法は、われわれにとってなじみ深い。だがコンピュータにとってはそうではない。一般的なコンピュータは、電圧が掛かっているか、いないかの2つの状態を使ってデータを表現するために、2を底とする2進法を使う。10進法の数値を2進法に換算するには、どうすればよいのか。

10進法の数値を2進法に換算する方法

 2進法では、各桁は底である2の累乗であり、各桁の値は0か1になる。例えば10進法の「500」を、2進法に換算することを考えよう。10進法の500は、2の累乗の和として分解すると、

  • 500=1×28+1×27+1×26+1×25+1×24+0×23+1×22+0×21+0×20

と表現できる。以下の表2の通りだ。

表2 2進法に換算した10進法の500(丸かっこ内は10進法での表記)
100000000(28 10000000(27 1000000(26 100000(25 10000(24 1000(23 100(22 10(21 1(20
1 1 1 1 1 0 1 0 0

 つまり10進法の500は、2進法の「111110100」となる。

 コンピュータの世界における2進法には2つのルールがある。1つ目は、桁数を「ビット」(bit)と呼ぶことだ。例えば2進法の「000」「001」「011」「100」「101」「110」「111」は3bit、2進法の「10101010」「11110000」「11111111」は8bitの数値となる。

 2つ目は、複数のビットは「バイト」(B)という単位を構成することだ。一般的に1Bは8bitに換算できる。データフォーマット「Protocol Buffers」など、7bitを1Bに換算する仕様もある。

 人が目で見てすぐに、2進法のビット値やバイト値を10進法に換算するのは難しい。例えば2進法の「1001001011011001」を、人が即座に10進法に換算するのは不可能に近い。

TechTarget発 エンジニア虎の巻

米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。

Copyright © ITmedia, Inc. All Rights Reserved.

From Informa TechTarget

いまさら聞けない「仮想デスクトップ」と「VDI」の違いとは

いまさら聞けない「仮想デスクトップ」と「VDI」の違いとは
遠隔のクライアント端末から、サーバにあるデスクトップ環境を利用できる仕組みである仮想デスクトップ(仮想PC画面)は便利だが、仕組みが複雑だ。仮想デスクトップの仕組みを基礎から確認しよう。

ITmedia マーケティング新着記事

news046.png

「ECプラットフォーム」売れ筋TOP10(2025年4月)
今週は、ECプラットフォーム製品(ECサイト構築ツール)の国内売れ筋TOP10を紹介します。

news026.png

「パーソナライゼーション」&「A/Bテスト」ツール売れ筋TOP5(2025年4月)
今週は、パーソナライゼーション製品と「A/Bテスト」ツールの国内売れ筋各TOP5を紹介し...

news130.jpg

Cookieを超える「マルチリターゲティング」 広告効果に及ぼす影響は?
Cookieレスの課題解決の鍵となる「マルチリターゲティング」を題材に、AI技術によるROI向...