コンピュータの世界ではデータを2進法で表現することが一般的だ。われわれの日常生活ではあまりなじみのない2進法を簡潔に解説しよう。
10を底(基数:1桁の単位を示す数)とする10進法は、われわれにとってなじみ深い。だがコンピュータにとってはそうではない。一般的なコンピュータは、電圧が掛かっているか、いないかの2つの状態を使ってデータを表現するために、2を底とする2進法を使う。10進法の数値を2進法に換算するには、どうすればよいのか。
2進法では、各桁は底である2の累乗であり、各桁の値は0か1になる。例えば10進法の「500」を、2進法に換算することを考えよう。10進法の500は、2の累乗の和として分解すると、
と表現できる。以下の表2の通りだ。
位 | 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の豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。
「インクルーシブマーケティング」実践のポイントは? ネオマーケティングが支援サービスを提供
ネオマーケティングは、インクルーシブマーケティングの実践に向けたサービスを開始した...
Xが新規アカウントに課金するとユーザーはどれほど影響を受ける? そしてそれは本当にbot対策になるのか?
Xが新規利用者を対象に、課金制を導入する方針を表明した。botの排除が目的だというが、...
Googleの次世代AIモデル「Gemini 1.5」を統合 コカ・コーラやロレアルにも信頼される「WPP Open」とは?
世界最大級の広告会社であるWPPはGoogle Cloudと協業を開始した。キャンペーンの最適化、...