今天有幾個人跑過來問我,二進位是什麼東西?我心想,你們算是問對人了,於是張口就來,這是一個非常神奇的東西,能讓1+1等於10,瞬間感覺看到他們頭上飄過幾個what?
小便準備先給他們解釋一下官方說法,於是拿出手機百度搜索了一下,二進位是計算機中採用的一種數制,是數字0和數字1來表示的數。它的基數為2,進位規則是「逢二進一」,借位規則是「借一當二」。看完之後,不要說他們,就連我都差點一頭霧水。最後決定還是按照我自己的思路給他們講解吧!
先看一下我們常用的數字,也就是書面上說的十進位,以一個大家喜歡的數字168吧,一路發!為什麼說它是十進位數呢,細心一點可以發現它是用數字0到數字9十個數字來表示的一個數,同樣的從這裡我們也可以認為二進位數就是用數字0和數字1兩個數字來表示的數,例如101,事實證明也並無毛病。
168,國語說法是一百六十八,在小學數學裡它的意思是個位是8,十位是8,百位是1,它的結果可以用一條數學來表示,即168=1×100+6×10+8×1。也可以換一種比較方便理解的方式來表示,即168=1×102+6×101+8×100,其實這就是十進位數168轉化為十進位數的過程。用上面同樣的辦法我們來嘗試將二進位數轉化為十進位數,就以101為例。按照小學裡學的辦法二進位數101=1×22+0×21+1×20=4+0+1=5,5就是二進位數101轉化為十進位數的結果。
看到這裡,是不是感覺有點似懂非懂的感覺。可以先休息一下,接下來我們來點難度高一點的就是把方向調過來,十進位數轉化為二進位數是怎麼計算的。
同樣的對比方法,先看一下十進位數168是怎麼轉化為十進位數的?剛才用了乘法,那這裡就是用除法了,先用168÷10=16餘8,再16÷10=1餘6,最後1÷10=0餘1;這時候它的結果應該是從後往前看餘數就是168,這裡要注意的是一定要到商0餘1為止。接下來就是十進位數5轉化為二進位數,先用5÷2=2餘1,再2÷2=1餘0,最後1÷2=0餘1,從後往前看餘數是101,這就是十進位數5轉化為二進位數是101。
以上為個人經驗,不知道你們看懂了沒有。