在計算機中,資料型別分為整型與浮點型兩種型別,而對於這兩種型別的儲存方式又有哪些異同?
我將分三章,對計算機的資料儲存進行詳細的介紹;
再詳細介紹整型與浮點型的儲存形式之前,先預鋪墊一些二進位制、八進位制、十進位制與十六進製制之間表示與轉換的基礎。
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應答...