筆記|二進制

路上聽了極客時間的數學課,簡單做點筆記

什麼是二進制?

我們先來看十進制,十進制本質上使用10作爲基數。

二進制就是以2作爲基數,即二進制的數位就是2^n的形式

我們以 110101 爲例子,看看在十進制裏,它是誰

爲什麼使用二進制?

計算機之所以使用二進制和現代計算機系統的硬件實現有關。組成計算機系統的邏輯電路通常只有兩種狀態,即開關的接通和斷開。由於每位數據只有斷開和接通兩種狀態,所以幾遍系統受到一定程度的干擾時,仍然能夠可靠地分辨出數字是“0”還是“1”。如果使用十進制,那就要設計10種狀態的電路,情況會變得很複雜,判斷狀態的時候就容易出錯。

二進制的位操作

在瞭解了二進制後,我們再看看計算機語言中針對二進制的位操作(位運算)。即直接對內存中的二進制位進行操作。常見的有向左移位和向右移位的移位操作,以及“或”、“與”、“異或”的邏輯操作。

1.向左移位

比如110101向左移一位,即在末尾添加一位0,因此110101就變成了1101010。

在數字溢出(位數超過系統指定的位數)情況下,需要將溢出的位數去除。

此外,我們還能看到此時如果把1101010換算成十進制,就是106,對比先前的53。我們得到一個結論:二進制左移一位,其實就是將數字翻倍

2.向右移位

比如110101向右移一位,即去除末尾的那一位,因此110101就變成了011010。

此外,我們還能看到此時如果把011010換算成十進制,就是26,對比先前的53。我們得到一個結論:二進制左移一位,其實就是將數字除以2並求整數商的操作

3.位的“或”

從右向左,對相同位置的數字:參與操作的位中只要有一個位是1,結果就爲1(只要有真就爲真)

4.位的“與”

從右向左,對相同位置的數字:參與操作的位中必須全部爲1,結果才爲1(都是真才爲真)

5.位的“異或”

從右向左,對相同位置的數字:如果參與操作的位相同,那麼最終結果就爲 0(假),否則爲1(真)(不同才爲真)

以上爲黃老師課的筆記

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章