(乾貨)詳解資料儲存(上) 進製

2021-10-19 08:37:54 字數 1831 閱讀 1296

在計算機中,資料型別分為整型與浮點型兩種型別,而對於這兩種型別的儲存方式又有哪些異同?

我將分三章,對計算機的資料儲存進行詳細的介紹;

再詳細介紹整型與浮點型的儲存形式之前,先預鋪墊一些二進位制、八進位制、十進位制與十六進製制之間表示與轉換的基礎。

r進製轉換為十進位制數採用權值累加的方法:

例一:將二進位制數101.11轉換為十進位制數

1×22+0×21+1×20+1×2-1+1×2-2=5.75

例二:將八進位制數37.24轉換為十進位制數

3×81+7×80+2×8-1+4×8-2=31.3125

例三:將十六進製制數b4.a轉換為十進位制數

11×161+4×160+10×16-1=180.625

將十進位制數轉換為r進製數分為兩部分: 整數部分採用「除r取餘法」,小數部分採用「乘r取整法」;

例一:十進位制10轉換為二進位制

10除2 商 5 餘 0

5 除 2 商2 餘 1

2 除 2 商1 餘 0

1 除 2 商0 餘 1

當商為0時為止,此時將餘數從高位向低位排,即1010;

注意:整數部分,後得到的餘數是高位

例二:十進位制0.75轉換為二進位制

0.75乘2 積1.5,小數部分為0.5 取整為 1

0.5 乘2 積1.0,小數部分為0 取整為 1

當小數部分為0時為止,此時將取整部分從高位向低位排,即0.11;

注意:小數部分,先取整得到的是高位,這一點與整數部分相反

對於r進製來說,其能表達的最大的個位數是r-1,如二進位制最大為1,最小為0,十進位制最大為9,最小為0……

較為特殊的是十六進製制,個位上能對應0~15之間的數,分別為0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f;

二進位制的權值2i與八進位制的權值8i、十六進製制的權值16i之間的對應關係為8i=23i,16i=24i,也就是說,每3位二進位制數可以表示為1位八進位制數,每4位二進位制數可以表示為1位十六進製制數;

將乙個二進位制數轉換為八進位制數所用的方法為「取三合一法」,即以二進位制的小數點為分界點,分別向左(整數部分),向右(小數部分)每3位分成一組,接著按組將這3位二進位制按權相加,得到的數就是一位8位二進位制數。然後,按順序進行排列,小數點的位置不變,得到的數字就是所求的八進位制數。如果取到最高或最低位時無法湊足3位,可以在小數點的最左邊(整數部分的最高位)和最右邊(小數部分最低位)補0,湊足3位。

將乙個八進位制數轉換為二進位制數所用的方法為「取一分三法」,即將一位的八進位制數分解成3位的二進位制數,將3位二進位制按權相加去湊這位八進位制數﹐小數點位置照舊。

以此類推,二進位制數轉換為十六進製制數所用的方法為「取四合一法」;十六進製制數轉換為二進位制數所用的方法為「取一分四法」。

例一:將二進位制數10111010.11011轉換為八進位制數

010得到2,111得到7,010得到2,110得到6,11最終得到(272.66)8;

例二:將二進位制數10111010.1101轉換為十六進製制數

1011得到b,1010得到a,1101得到d,最終得到(ba.d)16;

例三:將八進位制數37.25轉換為二進位制數

3分為011,7分為111,2分為010,5分為101,最終得到(11111010101)2;

例四:將十六進製制數5f.3c轉換為二進位制數

5分為0101,f分為1111,3分為0011,c分為1100,最終得到(0101111.001111)2;

對於八進位制和十六進製制之間的轉換,可以現將其轉換為二進位制或十進位制,然後再轉換成所需要的進製數;

(乾貨)詳解資料儲存(中)——整型

(乾貨)詳解資料儲存(下)——浮點型

(乾貨)詳解資料儲存(中) 整型

上一章節講解了進製,為下面的兩章做了乙個簡單的鋪墊,下面對整型的儲存模式進行詳解。計算機中的有符號整數有三種表示方法 原碼 反碼 補碼 無符號數和正數的原碼 反碼 補碼均相同 三種表示方法均有符號位和數值位兩部分,符號位中0為正,1為負,而數值位三種表示方法各不相同 原碼 直接將整型按照正負數的形式...

堆疊詳解(資料與記憶體中的儲存方式)

char r hello word char b hello word r w b w 其實應該是語法錯誤,可是vc 6.0沒有警告或者錯誤,r指向的是文字常量區,此區域是編譯的時候確定的,並且程式結束的時候自動釋放的,r w 企圖修改文字常量區引起錯誤,b的區別在於其空間是在棧上分配的,因此沒有錯...

TCP IP詳解 資料鏈路層

鏈路層上最常見的封裝就是乙太網和ieee 802封裝,這裡就使用乙太網作為講解的物件。一 概述 資料鏈路層屬於計算機網路的底層,使用的通道主要有點對點通道和廣播通道兩種型別。在tcp ip協議族中,資料鏈路層主要有三個目的 1 為ip模組傳送和接收資料 2 為arp模組傳送arp請求和接收arp應答...