バイナリ(2進数)
0と1のみを使用する基数2の数値システムであり、すべてのコンピューターの基礎言語。
10進数が10の累乗であるのに対し、バイナリの各桁は2の累乗(1、2、4、8...)を表します。例えば、1011は(1×8) + (0×4) + (1×2) + (1×1) = 11となります。8つのビットがグループ化されて1バイト(256個の値)になります。
graph LR
Center["バイナリ(2進数)"]:::main
Rel_bit["bit"]:::related -.-> Center
click Rel_bit "/terms/bit"
Rel_byte["byte"]:::related -.-> Center
click Rel_byte "/terms/byte"
Rel_hexadecimal["hexadecimal"]:::related -.-> Center
click Rel_hexadecimal "/terms/hexadecimal"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧒 5歳でもわかるように説明
コンピューターは文字を理解しません。何十億もの小さな電灯のスイッチでできた巨大な計算機です。スイッチはON(1)かOFF(0)にしかなりません。バイナリは、コンピューターを動かすための「ON/OFF」の長いリストです。
🤓 Expert Deep Dive
ALUでのバイナリ演算はブール代数に基づく論理回路で行われます。負の整数は「2の補数」を使用して表現され、浮動小数点数はIEEE 754標準でエンコードされます。メモリへの保存順序(エンディアン)において、x86アーキテクチャはリトルエンディアンを採用しています。
❓ よくある質問
Why do computers use binary instead of decimal?
It's a physical limitation. It is much easier, cheaper, and reliable to build electrical switches that have only two clear states (ON/OFF or High/Low Voltage) rather than trying to accurately measure ten different voltage levels for a base-10 system.
What is the difference between a bit and a byte?
A 'bit' is a single binary digit (a single 0 or 1). A 'byte' is a group of 8 bits strung together. One byte is enough data to represent a single letter, like 'A' (which is 01000001 in binary).
How do you count in binary?
In decimal, you count 0 to 9 and then roll over to 10. In binary, you only have 0 and 1, so you roll over immediately. The counting goes: 0, 1, 10, 11, 100, 101, 110, 111 (which translates to 0, 1, 2, 3, 4, 5, 6, 7 in decimal).