2.1 用二進制數表示計算機信息的原因
想必大家都知道計算機內部是由IC這種電子部件構成的。第1章介紹的CPU(微處理器)和內存也是IC的一種。IC有幾種不同的形狀,有的像一條黑色蜈蚣,在其兩側有數個乃至數百個引腳;有的則像插花用的針盤,引腳在IC內部并排排列著。IC的所有引腳,只有直流電壓0V或5V
兩個狀態。也就是說,IC的一個引腳,只能表示兩個狀態。
IC的這個特性,決定了計算機的信息數據只能用二進制數來處理。由于1位(一個引腳)只能表示兩個狀態,所以二進制的計數方式就變成了0、1、10、11、100…這種形式。雖然二進制數并不是專門為IC而設計的,但是和IC的特性非常吻合(圖2-1)。計算機處理信息的最小單位——位,就相當于二進制中的一位。位的英文bit是二進制數位(binary digit)的縮寫。

圖2-1 IC的一個引腳表示二進制數的1位
二進制數的位數一般是8位、16位、32位……也就是8的倍數,這是因為計算機所處理的信息的基本單位是8位二進制數。8位二進制數被稱為一個字節。字節是最基本的信息計量單位。位是最小單位,字節是基本單位。內存和磁盤都使用字節單位來存儲和讀寫數據,使用位單位則無法讀寫數據。因此,字節是信息的基本單位。
用字節單位處理數據時,如果數字小于存儲數據的字節數(=二進制數的位數),那么高位上就用0填補。例如,100111這個6位二進制數,用8位(=1字節)表示時為00100111,用16位(=2字節)表示時為0000000000100111。奔騰等32位微處理器,具有32個引腳以用于信息的輸入和輸出。也就是說,奔騰一次可以處理32位(32位=4字節)的二進制數信息。
程序中,即使是用十進制數和文字等記述信息,在編譯后也會轉換成二進制數的值,所以,程序運行時計算機內部處理的也是用二進制數表示的信息(圖2-2)。

圖2-2 計算機內部所有信息都用二進制數處理
對于用二進制數表示的信息,計算機不會區分它是數值、文字,還是某種圖片的模式等,而是根據編寫程序的各位對計算機發出的指示來進行信息的處理(運算)。例如00100111這樣的二進制數,既可以視為純粹的數值作加法運算,也可以視為“‘”(單引號,single quotation)文字而顯示在顯示器上,或者視為■■□■■□□□這一圖形模式印刷出來。具體進行何種處理,取決于程序的編寫方式。
- FreeSWITCH 1.6 Cookbook
- 跟小海龜學Python
- NativeScript for Angular Mobile Development
- Implementing Cisco Networking Solutions
- 精通網絡視頻核心開發技術
- Advanced Oracle PL/SQL Developer's Guide(Second Edition)
- Python數據結構與算法(視頻教學版)
- Selenium Testing Tools Cookbook(Second Edition)
- 匯編語言編程基礎:基于LoongArch
- Hands-On Kubernetes on Windows
- PHP 7從零基礎到項目實戰
- Julia High Performance(Second Edition)
- SaaS攻略:入門、實戰與進階
- Scratch 3.0少兒積木式編程(6~10歲)
- 移動智能系統測試原理與實踐