電腦,說穿了,很單純 ... 只不過是個 1 與 0、"有"以及"沒有"的世界


問題是,一個 0 或 1,也許很單純 ... 但是,若是一堆的 1 與 0,那就...


一個 0 或 1,只有 2 種可性;二個 0 或 1 排列組合,就有 4 種可能;...


依照基本的數學計算,N 個 0 或 1,就會有 2 的 N 次方種排列組合方式


 



 


如果你對數位的儲存設備有點接觸,或是,你曾經注意過電腦檔案的大小


那麼,你對 KB、MB、GB這幾個代名詞,應該是不陌生


其實,K _ Kilo 這符號,代表的是 2 的 10 次方,也就是 1024


同理,M _ Mega,代表的是 2 的 20 次方;也就是 1024 個 K


當然,G _ Gega,代表的就是 2 的 30 次方;也就是 1024 個 M


至於他們後面所接的 B,則是 Byte(s) _ "位元組"的簡寫


"位元組"是電腦「儲存資料的最小單位」... 等於一個英打字母或符號所佔的空間


"位元組"是 Byte 這個字的中文譯名,之所以會有個"組"這個字,那是因為...


每個 Byte 是由 8 個只能夠存放 0 或 1 的 "位元" _ bit(s) 依序排列所組成


 



 


依照二進位來計算 ... 只能存放 0 或 1,1 如果再加上 1,就必須往前進一位


8 位數的二進位,最少時可表示 0 ... 當它是 00000000 時


依序,十進位的 1,它的排列法為 00000001;2 的排列法為 00000010; ... ...


最多時,也就是當它為 11111111 時,則可以表示十進位的 255


所以,全部的數值從 0 到 255,總共有 256 ( 2 的 8 次方 ) 種可能的排列方式


如果將二個 Bytes 連在一起排列,那將會有 2 的 16 次方 ( 65536 ) 種排列方式


將四個 Bytes 連在一起排列,則會有 2 的 32 次方 ( 4294967296 ) 種排列方式


 



 


這些排列法,如果要人類來辨識它的差異的話,那肯定是個災難


不過,對於一台電腦而言,32個脈衝就可以辨識 4294967296 種不同的排列方式


注意看過電腦規格的朋友,應該曾留心電腦心臟 _ CPU的工作頻率吧


1.0 GHz,代表的就是每秒鐘產生 2 的 30 次方(略大於 10億 )這麼多的脈衝


也就是說,理論上一個 1.0 GHz 的中央處理器,每秒可以處理的資料是...


... 不要算了 ...,這也就是為甚麼我們必須尊稱它為 ... 電腦


 



 


跟諸位看倌報告一件事情 ... 大家必須體認


所有我們的各式硬碟、軟碟、記憶體上儲存的,也就只有一堆的 ... 0 跟 1


這些讓人頭痛不已的 0 跟 1,電腦的 CPU 卻是快樂且無怨無悔地在處理它們


那,人怎麼辦,我們該如何透過 0 或 1 來與電腦溝通 ... 操作電腦、命令電腦


如果必須逐一輸入一串串正確的 0 與 1,那 ... 鐵定沒有人想靠近電腦


 



 


早期,我們必須將代表一串 1 與 0 的記號,畫成或打成卡片的孔洞 ...


然後,再由一台所謂的讀卡機,將這些各有代表的記號翻譯成一串的 1 與 0


如果我沒記錯,夜貓讀的那所"國立"大學,全校就兩台電腦 ... 應該吧,最多


電腦中心比一個籃球場還大;全部功能加起來,比現今的任何一台電腦都少


更離譜的是,一般人根本碰不到電腦 ... 只是一堆卡片進去,幾張報表印出來


後來,電腦軟硬體進步一些後,開始有所謂的終端機 ... 最後才進化到個人電腦


這個時候,人們開始可以透過單色螢幕來監控電腦;不過,也只有鍵盤可操作


操作電腦的人必須背一大堆代表一串 1 與 0 的所謂「Dos指令」 ... 很難搞定


 



 


1990年微軟推出 Windows 3.0 作業系統之後,滑鼠才正式加入電腦操作的行列


現在大家很幸福,只需透過滑鼠,加上鍵盤的輔助,就可以輸入那一堆 1 與 0


經過作業系統與 CPU 的配合,這一堆的 1 與 0 就形成命令電腦做事的指令資料


這可得感謝那些"設計師",是他們將這一堆堆的 1 與 0 層層包裝成簡單的動作


 



 


單純 1 與 0 的電腦指令,我們稱之為「機械碼」 ... 這是 CPU 唯一看得懂的東西


因為它實在太 ... 又臭又長,所以,就有人設法將它簡化為16進位的 Assembly 碼


我想,一般的電腦使用者,只要接觸過一陣子,應該都看過一些16進位的資料吧


0 ~ 9 是不用解釋啦,不過,A 代表 10;B 代表 11;C 代表 12;...  F 則代表 15


其實,只要把那一堆的 1 與 0,每 4 個分為一組,就形成電腦擅場的 16 進位啦


當然,這些 Assembly 指令碼必須經由某些特定的工具再轉換為那一堆的 1 與 0


 



 


不管是機械碼或Assembly碼,它們都是一些人類不易一眼猜得出來的電腦指令


因此,一般稱為「低階電腦語言」,以有別於近似人類文字的「高階電腦語言


這裡所說的人類文字,指的是英文 ... 誰叫這些東西不是我們開發出來的,怨不得人


高階電腦語言進一步地將許多的 1 與 0 包裝成一組組的指令,然後指定某個文字代表


使用高階電腦語言設計軟體的程式設計師,只要是依照所謂的「程式語法」撰寫文字


那麼,這些文字交給特定的工具解譯後,便會形成可以命令電腦做事的 1 與 0 了啦

文章標籤
全站熱搜
創作者介紹
創作者 夜貓 的頭像
夜貓

夜貓的棲息地

夜貓 發表在 痞客邦 留言(14) 人氣(7)