什麼叫二進制?
二進制是計算技術中廣泛采用的一種數制。二進制資料是用0和1兩個數位來表示的數。它的基數為2,進位規則是“逢二進一”,借位規則是“借一當二”,由18世紀德國數理哲學大師萊布尼茲發現。目前的計算機系統使用的基本上是二進制系統,資料在計算機中主要是以補碼的形式存儲的。計算機中的二進制則是一個非常微小的開關,用1來表示“開”,0來表示“關”。
二進制的優點
數字裝置簡單可靠,所用元件少;
隻有兩個數位0和1,是以它的每一位數都可用任何具有兩個不同穩定狀态的元件來表示;
基本運算規則簡單,運算操作友善。
十進制是啥呢?
600,3/5,-7.99……看着這些耳熟能詳的數字,你有沒有想太多呢?其實這都是全世界通用的十進制,即1.滿十進一,滿二十進二,以此類推……2.按權展開,第一位權為100,第二位101……以此類推,第N位10^(N-1),該數的數值等于每位位的數值*該位對應的權值之和。
二進制與十進制的計算方法
#口訣:除二取餘,逆序
舉個例子:
小數
#口訣:乘二取整,順序
舉個例子:
有符号數和無符号數
有符号數
有符号數是針對二進制來講的。用最高位作為符号位,“0"代表”+",“1"代表”-" ;其餘數位用作數值位,代表數值。
有符号數的表示:計算機中的資料用二進制表示,數的符号也隻能用0/1表示。一般用最高有效位(MSB)來表示數的符号,正數用0表示,負數用1表示。
如何區分有符号數和無符号數呢?
用0和1作為第一位來區分,0表示正數,1表示負數
舉個例子:
數的機器碼表示
原碼:
原碼(true form)是一種計算機中對數字的二進制定點表示方法。原碼表示法在數值前面增加了一位符号位(即最高位為符号位):正數該位為0,負數該位為1(0有兩種表示:+0和-0),其餘位表示數值的大小。
補碼:
補碼(two’s complement) 1、在計算機系統中,數值一律用補碼來表示(存儲)。 主要原因:使用補碼,可以将符号位和其它位統一處理;同時,減法也可按加法來處理。另外,兩個用補 碼表示的數相加時,如果最高位(符号位)有進位,則進位被舍棄。 2、補碼與原碼的轉換過程幾乎是相同的。
反碼:
反碼是數值存儲的一種,多應用于系統環境設定,如linux平台的目錄和檔案的預設權限的設定umask,就是使用反碼原理。
為什麼要引入補碼?
于是又引入了反碼: