国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

整型數(shù)據(jù)在內(nèi)存中存儲方式的講解

2020-01-26 13:31:38
字體:
供稿:網(wǎng)友

(以下討論,針對32位的計算機系統(tǒng)。。)

問:int型數(shù)據(jù)占幾個字節(jié)?答:4字節(jié)。地球上這個群體的人都知道。

再問:這4個字節(jié),即32個二進制位,又是何存儲?這就進入計算機的“底層”了。這個事情,學(xué)習(xí)程序設(shè)計的童鞋,可以懂。

存儲的方式,和我們拍腦袋想得不太一樣,概括一下,就是低位在前,高位在后。

本文直觀一些,看懂以下程序中數(shù)據(jù)的存儲,也便知道這個安排。

(源程序,及在watch窗口中用多種方式看x.c的方法,見文后附件。)

在程序中,由于聯(lián)合體存儲的特點,變量x占4個字節(jié)。我們可以從3個角度觀察這4個字節(jié):(1) 整體看,是一個int型數(shù)據(jù);(2) 分成2部分看,是兩個短整型數(shù)據(jù);(3) 分成4部分看,是4個單字節(jié)的數(shù)據(jù)。

但無論怎么看,就是這4個字節(jié)。無論用哪種形式操作數(shù)據(jù),使用的也就是這4個字節(jié)。聯(lián)合體為我們提供了從不同的角度使用這4個字節(jié)的方式。

x.c[0]到x.c[3]的值分別為65/66/67/68,這好理解。

x.si[0]占的2字節(jié),與x.c[0]和x.c[1]相同。驗證一下:16961=66×256+65(66是'B'的ACSII值,65是'A'的ASCII值,是字符的存儲形式)。注意,這里體現(xiàn)存儲數(shù)據(jù)時低位在前,高位在后,低位是65,高位是66。正如十進制數(shù)98中,高位是9,低位是8,所以98=9×10+8一樣。因為是高位,所以乘以位權(quán)10,表示9這個符號代表的其實是90。66×256,是因為存儲66(‘B')的那一個字節(jié)的位置,比存儲65(‘A')的那一個字節(jié)的位置高8位,所以乘以2的8次方,即256。

概括講,存儲2字節(jié)的16961時,其低8位,是65,在前(x.c[0]),而其高8位,是66,在后(x.c[1])。低位在前,高位在后。

請自行驗證:17475=68×256+67,體現(xiàn)低位在前,高位在后。(x.si[0]占的2字節(jié),與x.c[2]和x.c[3]相同)

再請驗證:1145258561=17475×256×256+16961,也體現(xiàn)低位在前,高位在后。(x.i占的4字節(jié),與x.si[0]和x.si[1]相同)

再請驗證:1145258561=68×256×256×256+67×256×256+66×256+65。同樣的道理。

換種寫法,是1145258561=(((68×256+67)×256+66)×256+65。

再看截圖,品味低位在前,高位在后。

這樣安排的道理,在以后的關(guān)于“計算機的原理”的有關(guān)專業(yè)課中會接觸到。

附1:本文源程序

#include <iostream>using namespace std;union un{  int i;  short int si[2];  char c[4];};int main(){  union un x;  x.c[0]='A';  x.c[1]='B';  x.c[2]='C';  x.c[3]='D';  cout<< x.c[0]<<","<<x.c[1]<<","<< x.c[2]<<","<< x.c[3]<<endl;  cout<<x.si[0]<<","<< x.si[1]<<endl;  cout<<x.i<<endl;  return 0;}

附2:在watch窗口中用多種方式看x.c的方法

在watch窗口中,除自動顯示的局部變量的值,還可以自行輸入表達式跟蹤。

方法是,直接在表格中寫下表達式,如圖中,x.c,其他任意。

輸入表達式后,在上面點右鍵,會有幾個選項,點properties…(屬性),然后就是如下的窗口:


任性地多角度觀察吧!

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對武林網(wǎng)的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 基隆市| 舞阳县| 潞西市| 无锡市| 和平县| 陇川县| 叙永县| 望江县| 乌审旗| 翁源县| 阿瓦提县| 罗甸县| 建平县| 屏边| 宁安市| 丽水市| 大丰市| 娄烦县| 游戏| 凤庆县| 宝应县| 长垣县| 大宁县| 静安区| 和田县| 大冶市| 迁西县| 全南县| 高唐县| 米林县| 木里| 黔东| 陕西省| 报价| 周口市| 宣恩县| 玉门市| 海城市| 八宿县| 台东市| 昔阳县|