在電腦中資料的儲存和運算採用的是「二進位」。因為二進制數只有“0”和“1”兩個基本符號,而計算機是由邏輯電路組成,邏輯電路通常只有兩個狀態,開關的接通與斷開,這兩種狀態正好可以用“1”和“0”表示。
電腦中的資料是採用二進位表示的。計算機中的資料依基本用途可分為兩類:數值型資料和非數值資料。數值型資料表示具體的數量,有正負大小之分。非數值資料主要包括字元、聲音、影像等,這類資料在電腦中儲存和處理前需要以特定的編碼方式轉換為二進位表示法。
(1)、進制的概念
進位也就是進位制,是人們規定的一種進位方法。對於任何一種進制---X進制,就表示某一位置上的數運算時是逢X進位。十進制是逢十進一,十六進制是逢十六進一,二進制就是逢二進一
在採用進位計數的數字系統中,如果只用r個基本符號表示數值,則稱為r進位(Radix-r Number System),r稱為該數位的基數(Radix)。不同的數制的共同特徵如下:
(1)、每一種數制都有篤定的符號集。例如,十進制數制的基本符號有十個:0,1,2...,9。二進制數制的基本符號有兩個:0和1.
(2)、每一種數制都使用位置表示法。即處於不同位置的數位所代表的值不同,與它所在位的權值有關。
例如:十進位1234.55可表示為
1234.55=1×10^3 2×10^2 3×10^1 4×10^0 5×10^(-1) 5 ×10^(-2)
可以看出,各種進位計數制中權的值恰好是基礎的某次方。因此,對任何一種進位計數製表示的數都可以寫成按權展開的多項式。
(2)、電腦中為什麼要用二進位
電腦使用二進位是由它的實作機理決定的。我們可以這麼理解:電腦的基層元件是由積體電路組成的,這些積體電路可以看成是一個個閘電路組成,(當然事實上沒有這麼簡單的)。
當電腦工作的時候,電路通電工作,於是每個輸出端就有了電壓。電壓的高低經由類比數位轉換即轉換成了二進位:高電位是由1表示,低電位由0表示。也就是說將類比電路轉換成數位電路。這裡的高電位與低電位可以人為確定,一般地,2.5伏以下為低電平,3.2伏以上為高電平
電子計算機能以極高速度進行資訊處理與加工,包括資料處理和加工,而且有極大的資訊儲存能力。資料在電腦中以裝置的物理狀態表示,採用二進位數字系統,電腦處理所有的字元或符號也要用二進位編碼來表示。用二進位的優點是容易表示,運算規則簡單,節省設備。人們知道,具有兩種穩定狀態的元件(如晶體管的導通和截止,繼電器的接通和斷開,電脈衝電平的高低等)容易找到,而要找到具有10種穩定狀態的元件來對應十進制的10個數就困難了
1)技術實現簡單,計算機是由邏輯電路組成,邏輯電路通常只有兩個狀態,開關的接通與斷開,這兩種狀態正好可以用“1”和“0”表示。 (2)簡化運算規則:兩個二進位數和、積運算組合各有三種,運算規則簡單,有利於簡化電腦內部結構,提高運算速度。 (3)適合邏輯運算:邏輯代數是邏輯運算的理論依據,二進位只有兩個數碼,剛好與邏輯代數中的「真」與「假」相符。 (4)容易進行轉換,二進位與十進制數容易互相轉換。 (5)以二進位表示資料具有抗干擾能力強,可靠度高等優點。因為每位資料只有高低兩個狀態,當受到一定程度的干擾時,仍能可靠地分辨出它是高還是低。
(3)、八進制和十六進制出現是為什麼
人類一般思維方式是以十進制來表示的,而計算機則是二進制,但是對於編程人員來說,都是需要直接與計算機打交道的,如果給我們一大串的二進制數。比如說一個4個位元組的int型的資料:0000 1010 1111 0101 1000 1111 11111 1111,我想任何程式設計師看到這樣一大串的0、1都會很痛苦。所以必須要有更簡潔靈活的方式來呈現這對數據了。
你也許會說,直接用十進制吧,如果是那樣,就不能準確表達計算機思維方式了(二進制),所以,出現了八進制、十六進制,其實十六進制應用的更加廣泛,就比如說上面的int型的數據,直接轉換為八進制的話,32./3 餘2 也就是說 ,我們還要在前面加0,但是轉換為十六進制就不同了。 32/4=8,直接寫成十六進位的8個數值拼接的字串,簡單明了。
所以說用十六進位表達二進位字串無疑是最佳的方式,這就是八進位和十六進位出現的原因。
(4)、進位間的相互轉換問題
常用的進位有二進位、十進位、八進位和十六進位
二進位與十進位之間的轉換
十進制轉二進制
方法為:十進制數除2取餘法,即十進制數除2,餘數為權位上的數,得到的商值繼續除2,依此步驟繼續向下運算直到商數為0為止。
(具體用法如下圖)
二進位轉十進位
#方法為:把二進位數按權展開、相加即得十進制數。
(具體用法如下圖)
二進位與八進位之間的轉換
二進位轉八進位
#方法為:3位二進制數按權展開相加得到1位八進制數。 (注意事項,3位二進位轉成八進位是從右到左開始轉換,不足時補0)。
(具體用法如下圖)
八進位轉成二進位
方法為:八進位數透過除2取餘法,得到二進制數,對每個八進制為3個二進制,不足時在最左邊補零。
(具體用法如下圖)
二進位與十六進位之間的轉換
二進位轉十六進位
方法為:與二進位轉八進位方法近似,八進位是取三合一,十六進位是取四合一。 (注意事項,4位元二進位轉成十六進位是從右到左開始轉換,不足時補0)。
(具體用法如下圖)
十六進位轉二進位
方法為:十六進位數透過除2取餘法,得到二進制數,對每個十六進制為4個二進制,不足時在最左邊補零。
(具體用法如下圖)
十進位與八進位與十六進位之間的轉換
十進位轉八進位或十六進制有兩種方法
第一:間接法—把十進制轉成二進制,然後再由二進制轉成八進位或十六進制。這裡不再做圖片用法解釋。
第二:直接法—把十進位轉八進位或十六進位依照除8或16取餘,直到商數為0為止。
(具體用法如下圖)
八進位或十六進位轉成十進位
方法為:把八進位、十六進制數按權展開、相加即得十進制數。
(具體用法如下圖)
十六進位與八進位之間的轉換
八進位與十六進位之間的轉換有兩種方法
第一種:他們之間的轉換可以先轉換成二進位然後再互相轉換。
第二種:他們之間的轉換可以先轉換成十進位然後再互相轉換。
這裡就不再進行圖片用法解釋。
以上是在計算機中資料的儲存和運算採用的是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!