這周布爾邏輯和邏輯門內容,很重要,請細細品味。web
今天咱們開始"抽象"的旅程,不用管底層細節,把精力用來構建更復雜的系統。上一節,咱們談了計算機最先是機電設備,通常用十進制計數,好比用齒輪數來表明十進制, 再到晶體管計算機。編程
緣由一微信
幸運的是,只用 開/關 兩種狀態也能夠表明信息,這叫二進制。意思是"用兩種狀態表示",就像自行車有兩個輪,雙足動物有兩條腿,你可能以爲兩種狀態很少,你是對的!但若是隻須要表示 true 和 false,兩個值就夠了。app
電路閉合,電流流過,表明 "真",電路斷開,無電流流過,表明"假",二進制也能夠寫成 1 和 0 而不是 true 和 false, 只是不一樣的表達方式罷了。咱們下一節會講更多細節學習
晶體管的確能夠不僅是 開/關,還可讓不一樣大小的電流經過,一些早期電子計算機是三進制的,有 3 種狀態,甚至五進制,5 種狀態。問題是,狀態越多,越難區分信號,若是手機快沒電了或者附近有電噪音由於有人在用微波爐,信號可能會混在一塊兒...而每秒百萬次變化的晶體管會讓這個問題變得更糟!因此咱們把兩種信號儘量分開,只用"開"和"關"兩種狀態,能夠儘量減小這類問題。spa
緣由二.net
計算機用二進制的另外一個緣由是,有一整個數學分支存在,專門處理"真"和"假",它已經解決了全部法則和運算叫"布爾代數"!喬治·布爾(George Boole)是布爾二字的由來,是一位 19 世紀自學成才的英國數學家,他有興趣用數學式子 擴展亞里士多德基於哲學的邏輯方法,布爾用 邏輯方程 系統而正式的證實真理,他在 1847 年的第一本書"邏輯的數學分析"中介紹過。code
在"常規"代數裏,你在高中學的那種,變量的值是數字,能夠進行加法或乘法之類的操做。但在布爾代數中,變量的值是 true 和 false,能進行邏輯操做。orm
布爾代數中有三個基本操做:NOT, AND 和 OR。blog
這些操做很是有用,咱們明天將一個個來看。
相關閱讀:
一個會思考的技術小工
長按掃碼關注,天天五分鐘學習計算機最基礎的知識和原理
右下角
給個在看唄
本文分享自微信公衆號 - 硬核編程(hardcorecode)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。