文章出處

0的故事

10進制

常用的10進制如:0、1、2、3、4、5、6、7、8、9

逢10進1,1我們讀作一,10我們讀作十一,如數字1125,我們分別從右往左數,5(個),2(十),1(百),1(千),把它寫成一個算式就是下面這樣。

1*1000 + 1*100 + 2*10 + 5*1

2進制

計算機為什么采用2進制

計算機之所以采用2進制是因為2進制的種類比較少,不是0就是1,而10進制的種類就比較多了,不過對于人類來說10進制會被2進制好理解,因為10進制的位數比2進制的位數要少很多,但因為計算機的處理速度非常快,因此它并不在乎你有多少位。

在編程中,計算機會將人類的10進制轉換成2進制,通過2進制進行計算,計算出來的結果再轉換成10進制輸出。

0的作用

1、占位

2、統一標準,簡化規則

3、沒有

4、起點

5、分界點

計數法的作用

當一個數越大就越難分辨它的大小,而計數法的作用就是將大的數分解成一個小的數,使我們能更快的理解。

邏輯

邏輯是消除歧義的工具

很多人都覺得,"邏輯冰冷且機械死板",確實,邏輯有這種特征,但正因如此,它才有用,人類易被感情左右,但計算機不同,正因為它冰冷且機械死板,計算機才會一直穩定地運行,給我們所用。

異或

當A和B都滿足或都不滿足時為false,因為對于某些情況,你不可能同時既是A又是B,它跟或是不一樣的。

異或 ^ 的幾個作用

在javascript中有一個按位異或運算符 (^),可以用它來實現當只能有一個為真的情況。

var a = 5;
var b = 12;
console.log(a>4 ^ b>10); 0
console.log(a>5 ^ b>10); 1
console.log(a>5 ^ b>12); 0
console.log(a>5 ^ b>10); 1
^ 運算符會查看兩個表達式中二進制形式的值,當且僅當只有一個表達式的某位為 1 時,結果中的該位才為 1。否則,結果中的該位為 0。
蘊含

p→q僅當p為真、q為假時為假,否則為真。

邏輯規則中「蘊含」概念的通俗解釋

數學歸納法

求1到100的和

(100+1)*100/2

(起始數 + 終止數) * 一共的份數 / 2(因為起始數加終止數需要耗費兩份)

抽象思維和歸納法的背后就是方便重用。

排列組合

植樹問題

在10m的路,每隔1m植一顆數需要多少顆?

需要11顆,起始位也需要一顆。

二分法

一分為2,可以直接過濾掉一半的數據。

總結

1、認清模式

在解答思考題時,我們經常會使用"先用較小的數試算"的方法。用較小的數進行嘗試,可以發現規律、性質、結構、循環、一致性等,認清隱含在問題中的模式(認清模式,進行抽象化)。否則,即使解決了問題,也只是一知半解。

另外,我們還嘗試了"對目前得到的結果進行抽象化"。通過抽象化,可以將結論運用到當前問題以外的其他問題中。如果問題的解法嚴格來說只能夠運用于當前問題,那么這個解法就名不副實。只有同樣能夠運用于其他類似問題的方法,才能稱為解法。

2、由不擅長催生出的智慧

人類擅長某事,正是這些不擅長,催生出了各種閃耀的智慧。

人類不擅長處理龐大的數字,因此在計數法上下了很多工夫,羅馬數字表示法,指數表示法等。

人類不擅長毫無差錯地進行復雜判斷,因此邏輯就誕生了。從此可以通過邏輯表達式進行推論,也可以通過卡諾圖解決復雜邏輯。

人類不擅長管理大量事物,因此進行了分組。將同一組的事物視為同類事物,管理起來就會方便許多。

人類不擅長處理無窮,因此通過有限的步驟處理無窮。

...諸如此類,人類運用智慧,細心鉆研,不斷地挑戰問題。想法設法縮小問題規模,降低復雜度,使問題達到"可以機械式地解決"的狀態。

只要達到這個狀態,就能將接力棒傳至下一位賽跑運動員----計算機。

你有不擅長的地方嗎?那里或許會讓你產生新的智慧,找到新竅門呢!


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 AutoPoster 的頭像
    AutoPoster

    互聯網 - 大數據

    AutoPoster 發表在 痞客邦 留言(0) 人氣()