當我們在計算機上輸入單詞時,它會将它們翻譯成數字。事實上,對于計算機來說,所有的信息都是以一串 1 和 0 的形式寫入的。計算機數字系統是我們在計算機系統體系結構中表示數字的方式。
數字系統是計算機科學家必須學習的最基本的概念之一。對于任何想成為計算機科學家或程序員的人來說,這都是重要的一步。
今天,我們将向您介紹計算機科學家必不可少的數字系統。我們将深入探讨二進制和十六進制數字系統。
什麼是計算機科學中的數字系統?人類已經計算了很長時間。為此,我們使用将唯一符号與特定值相關聯的系統。這稱為數字系統,它是我們用來表示和操作數字的技術
數字系統的每個值都必須具有唯一的符号,必須保持一緻,提供可比較的值,并且易于重現。
您可能最熟悉構成人類計數基礎的十進制系統。十進制以 10 為底,因為它提供 10 個符号來表示所有數字:
人類使用十進制是因為我們有 10 個手指可以指望,但機器沒有那麼多。因此,我們創建了執行相同功能的其他數字系統。計算機代表信息的方式與人類不同,因此我們需要不同的系統來代表數字。
計算機支持以下數字系統:
二進制數系統簡介
- 二進制
- 八進制
- 十進制
- 十六進制
計算機使用位來表示信息。位是計算機中最基本的存儲單位。計算機的一個重要組成部分稱為晶體管。就像電燈開關一樣,晶體管允許或阻止電流流動。所以,它隻有兩種狀态:on和off。
計算機中的每個數字都是電信号。在計算機的早期,電信号用“開”狀态(負電荷)和“關”狀态(正電荷)表示。這形成了一種二進制開關。
這兩個狀态可以使用兩個符号之一表示:1和0。這意味着二進制數字系統的基數是 2。隻需要符号來表示每個數字。
二進制系統的基本數字很簡單:0 代表低狀态,1 代表高狀态。
我們不是将數字表示為單獨的單位(如數字 10 或 400),而是使用 1 和 0 的組。例如,這是計算機從 0 數到 10 時的樣子:
這稱為二進制數字系統。每個二進制數字稱為一個位。例如,0110由 4 位組成,分别是0、1、1和0。當談到為這個系統中的位(即數字)賦值時,我們從右到左放置與 2 的升幂相對應的值。
最右邊的位稱為最低有效位 (LSB),最左邊的位稱為最高有效位 (MSB)。
您可以使用按位運算符左右操作位,以在機器代碼級别有效地更改數字的值。
十進制和二進制之間的轉換現在我們了解了二進制系統的基礎知識,讓我們學習如何在十進制和二進制之間進行轉換。我們從二進制到十進制的轉換開始。
我們知道二進制系統具有 2 的幂位值。這些值是這些位置上數字(0 或 1)的權重。它是這樣工作的:
- 我們将每個數字乘以它的權重(它的位置乘以 2)
- 我們将它們全部加起來得到十進制數
所以,讓我們把二進制數 11111010 轉換成十進制數。
--->
現在讓我們反過來試試。我們如何将十進制數轉換為二進制數?一種方法是重複除法,這是一個方便的捷徑。
因此,以數字 19 為例。我們先将其除以二,然後記下餘數。當我們将 19 除以 2 時,我們得到 9,餘數為 1。
然後我們将 9 除以 2,結果為 4,餘數為 1。這個過程一直持續到我們達到零。我們收集的餘數構成了我們的二進制數!
反複除以 2 并記錄餘數是将十進制轉換為二進制的捷徑!
十六進制數系統簡介現在我們已經了解了一些關于二進制系統的知識,讓我們了解計算機使用的另一種常用系統:十六進制數系統。
二進制數對計算機來說很容易,但對人類來說卻不是那麼容易理解。當您處理大量數據時,要準确無誤地編寫代碼會變得很困難。所以,為了解決這個問題,我們可以将二進制數分成四位一組,形成十六進制數系統。
十六進制系統是一種在計算機上表示數字的更緊湊的方式,因為它隻需要 4 位來表示一個數字的值。
十六進制(通常稱為“十六進制”)由16 個符号組成,因此它的基數為 16。十六進制使用十進制的 10 個數字和六個額外的符号,A、B、C、D、E 和F。
十六進制的位值是 16 的幂。讓我們看看十六進制數 XYZ 的十進制數是多少。正如您在下面看到的,十六進制數前面有一個#,表示它們是 base-16。
如何在二進制和十六進制之間轉換
現在我們了解了二進制和十六進制數系統,讓我們學習如何在二進制數和十六進制數之間進行轉換。我們從二進制到十六進制開始。
我們将把二進制數字分成四組(從右邊開始)。然後,我們用相應的十六進制表示替換每個四重奏。
--->
--->
現在十六進制轉二進制!讓我們來看一個例子。下面,我們通過将其替換為等效的二進制四位來擴展每個十六進制數字。
--->
--->
什麼是八進制數系統?
八進制數系統不像二進制的十六進制那樣被廣泛使用。它是在與十六進制系統相同的思想下開發的:使二進制更緊湊。
八進制系統将二進制數分組為三元組而不是四元組。因此,八進制系統是base-8,如2^3 = 8。
我們使用八進制系統的八個基本符号,這些符号是從十進制系統借來的。二進制三元組的值範圍為0-7。
因此,位值将從右到左以8的幂遞增。
要将二進制轉換為八進制,我們遵循以下基本技術:
- 将二進制數分成三組(類似于我們對十六進制所做的)
- 通過添加零使每組數字成為三的倍數
- 在每組下方寫上相應的八進制符号
- 你現在将有一個八進制數
将八進制轉換為二進制是類似的,但更簡單一些:
接下來要學什麼
- 寫出每個八進制數字的二進制表示
- 将這些數字連接在一起
- 你不會有二進制數
恭喜!您現在已經對計算機科學的數字系統有了紮實的介紹。您已經邁出了進入計算機編程領域的第一步。然而,仍有許多東西需要學習。您的下一步是學習:
- 如何創建自己的數字系統
- 二元運算
- 有符号二進制數
- 定點符号
- 位和字節的基礎知識
- ASCII碼
- 統一碼
- 計算機内存基礎
一旦您涵蓋了這些主題,您就可以很好地理解計算機了!要開始了解這些概念并更詳細地探索二進制、十六進制和八進制,請查看 Educative 的計算機科學家課程數字系統,其中涵蓋了所有這些内容以及更多内容。
您将了解基本的數字系統,并學習如何用二進制表示和操作正數、負數和小數。不需要編程知識,所以今天就開始吧,開始你作為計算機科學家的職業生涯。
快樂學習!
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!