四、二進制的使用

一、背景:

用晶體管作邏輯門,邏輯門能夠判斷布爾語句,可是隻有兩個值:True 和 False。算法

二、如何用兩個值表達更多的內容?————》方法:加位數

十進制只有 10 個數(0到9),要表示大於 9 的數,加位數就好了。
例如: 263,這個數字 "實際" 表明2 個 100 、6 個 10 、 3 個 1,加在一塊兒,就是 263。每列有不一樣的乘數,分別爲100、十、 1,每一個乘數都比右邊大十倍。編碼

由於每列有 10 個可能的數字(0到9),若是超過 9,要在下一列進 1.所以叫 "基於十的表示法" 或十進制。
二進制也同樣,只不過是基於 2 而已。二進制只有兩個可能的數, 1 和 0,每一個乘數必須是右側乘數的兩倍。
例如:二進制數 101 ,表明1個 "4" 、0個 "2" 、 1個 "1",加在一塊兒,獲得十進制的 5。爲了表示更大的數字,二進制能夠有更多位數。設計

三、二進制

二進制中,一個 1 或 0 叫一"位"。code

(1)8位——1字節進程

若是有8 位能表示 256 個不一樣的值,2 的 8 次方;表示的最小數是 0, 8位都是0;最大數是 255,8 位都是 1。
常見的有8 位機,8 位圖像,8 位音樂,意思是計算機裏大部分操做都是 8 位 8 位這樣處理的。it

8位又叫字節。1 字節 = 8 位 ( 1 bytes = 8 bits),若是有 10 個字節,意味着有 80 位。亂碼

小知識補充:
一種算法:  1 千字節 = 1000 字節。
另外一種算法: 1 千字節 = 2的10次方 = 1024 字節.
1000 和 1024 都對

(2) 32 位 或 64 位二進制

32 位 或 64 位計算機,意思是一塊塊處理數據,每塊是 32 位或 64 位。
32 位能表示的最大數(32 個 1),是 43 億左右
64 位能表達最大數是 9.2x10方法

(3)浮點數、字母的表示數據

負數
大部分計算機用第一位表示正負:1 是負,0 是正。用剩下 31 位來表示數字。能表示的數字範圍是 正 20 億到負 20 億。

浮點數
除了負數和正數,計算機也要處理非整數(浮點數),好比 12.7 和 3.14。浮點數最多見使用的標準是 IEEE 754 標準,用相似科學計數法的方法,來存十進制值。例如,625.9 能夠寫成 0.6259×10 ^ 3,.6259 叫 "有效位數" , 3 是指數。
在 32 位浮點數中,第 1 位表示數字的正負,接下來 8 位存指數,剩下 23 位存有效位數。

字母、文字
計算機能夠用數字表示字母,給字母編號:A是1,B是2,C是3,以此類推。字母表示的發展進程以下:

  • 5位序列
    英國做家 弗朗西斯·培根,曾用 5位序列 來編碼英文的 26 個字母;五位(bit)能夠存 32 個可能值(2^5)。
    不足:這對26個字母夠了,但不能表示 標點符號,數字和大小寫字母。
  • ASCII:美國信息交換標準代碼,發明於 1963 年,ASCII 是 7 位代碼,足夠存 128 個不一樣值。能夠表示大寫字母,小寫字母,數字 0 到 9, @ 這樣的符號, 以及標點符號。

    不足:一個字節有8位,128 到 255的字符漸漸變得經常使用,128之前是空的,是給各個國家本身 "保留使用的",在美國,這些額外的數字主要用於編碼附加符號,在俄羅斯,他們用這些額外的字符表示西里爾字符,而希臘電腦用希臘字母,等等。問題是:若是在土耳其 電腦上打開 拉脫維亞語 寫的電子郵件,會顯示亂碼

  • Unicode: 統一全部編碼的標準,設計於 1992 年,解決了不一樣國家不一樣標準的問題。最多見的 Unicode 是 16 位的,有超過一百萬個位置 ,對全部語言的每一個字符都夠了。
相關文章
相關標籤/搜索