天天看點

要把ABCDEF當成數字看—成為計算機程式設計高手必需具備的能力

          有的時候,我們看問題的時候,并不是解決不了問題,而因為我們對問題并沒有達到實際上環境所要求的熟悉成度。常常遇到問題後,還是要去思考後才會有肯定的答案。不要小看這麼一點點的小問題,這很有可能就是你成功的絆腳石。因為這小小的思考讓你的CPU分心了,人的大腦可不像電腦那樣能記憶清楚,人的記憶是和時間的長短成反比的,過的時間越長,越記的不清楚,因為人的大腦記憶結構就決定了這一點。不管再難的東西,别人隻要想學,隻要不是傻子的話都能學會,隻是一個時間的問題。但你的長處到底在那裡呢,不是你說這個東西我懂那麼簡單就算了,就完事了。閉上眼睛問下自已,你熟悉麼,有多熟悉。你會的東西,别人隻要在百度裡一搜就有一大堆的答案,比你了解的多的東西都有,那麼你還敢說你有百度懂的多麼。那麼這個時候你的長處又在那裡呢。你的長處就應該在這一刻展現,因為你比百度反應快。但你要憑什麼比百度快,解決的辦法就是你要對這樣的問題非常熟悉,并讓他對你就像是話到嘴邊第一個動作是吸氣一樣。隻有這樣你才有可能讓自已發出一個你自已想要發的标準音。有些簡單的東西我們就把他背下來的比較好。小孩的學習能力并不一定比大人們強,但是他們的長處就是他們的記憶力要比我們大人或者成年人大好幾倍,甚至是幾十倍。我們現在的那些愛好其實都是小時候的記憶。随然我們老了,但我們還是要知道問題出在那裡。

    好了,說了這麼一大堆費話,現在開始進入我想要表達的正題。

    在學習單片機的時候,常常會遇到給寄存器裡的标志位寫一些資料,但這些位是用16進制表示的二進制數。我們知道在16進制裡就比在10進制裡多了六個英文字母:ABCDEF。在接觸計算機程式設計之前從來沒有聽說過這幾個字母是數字。剛一看到時就一頭的霧水。是以常常會遇到比如把一個二進制數轉換成16進制數時在我們腦子裡要進行一個8421碼進制轉換,但轉換完了之後又是我們平時熟悉的十進制數,真他媽煩人,又要再把這大于9的十進制數和這六個字母數字對應起來。又要在腦子裡反應半天。就這簡簡單單的一個二轉換成16進制數就要在我們的腦子裡邊打好幾個轉轉。太費勁了。而16進制數轉換成二進制還要進到反向的運算,這樣的反運算就好像是,剛才那個是乘法,我們現在要做的是除法一樣,除法的運算其實要比乘法更不習慣。16進制數到二進制數時,我們正常的方法就是進行除2得到一位,再除2再得到一位,一個這樣的字母數我們要進行最多4次除2。太費勁了。計算機程式設計怎麼就這麼難,我其實隻想要說話前吸的那一口氣,就這麼簡單,是以下決心把這個數制轉換當成是一種感覺和愛好,就像是你小時候就知道的一樣,對就要這種感覺。要把他當成是吸一口氣這麼簡單。要做到這一點,自已就要記下下邊這些東西。

    當我看到1010時,在我的腦子裡不能再是"1010 "了,應該就是A這個數字。當我們看到0101時我的心裡不應該是"0101",而應該是5這個數字一樣。當你看到1001時第一個想法不應該還是"1001"而應該認為他就是9。看到1110時應該認為他是E這個數字,沒辦法,要想成為高手這是必須的。我們年齡太大了,沒有那麼多的時間去讓我們編寫程,從程式設計裡熟悉和記住這些東西,我們必需走捷徑。

                下邊的在同一行的請在你學習計算機的時候把他們當成是同一樣的東西。他會讓你事半功倍!

    1111    F    15

    1110    E    14

    1101    D    13

    1100    C    12

    1011    B    11

    1010    A    10

    1001    9    9

    1000    8    8

    0111    7    7

    0110    6    6

    0101    5    5

    0100    4    4

    0011    3    3

    0010    2    2

    0001    1    1

繼續閱讀