計算機中的內存是以字節為單位的存儲空間。內存的每一個字節都有一個唯一的編號,這個編號就稱為地址。就好像酒店是以房間為單位的,每個房間都有一個唯一的房號,我們根據房號就能找到對應的房間。
1> 所占用字節數跟類型有關,也跟編譯器環境有關
2> 變量實例
int b = 10;
int a = 134;
*內存由大到小尋址
*只存儲二進制形式
*每個變量都有地址:第一個字節的地址就是變量的地址
3> 查看內存地址的兩種方式:%x和%p
4>查看整數的二進制形式
void putBinary(int n){ int bits = sizeof(n) * 8; while (bits-->0) { PRintf("%d", n>>bits&1); if (bits%4==0) printf(" "); } printf("/n");}
2. 負數在內存中的存儲
1 int main()2 {3 int b = -10; 4 return 0;5 }
在第3行定義了一個整型變量,它的值是-10。-10在內存中怎樣存儲的呢?其實任何數值在內存中都是以補碼的形式存儲的。
那么-10的補碼計算過程如下:
1> 先算出10的二進制形式:0000 0000 0000 0000 0000 0000 0000 1010
2> 對10的二進制進行取反:1111 1111 1111 1111 1111 1111 1111 0101
3> 對取反后的結果+1:1111 1111 1111 1111 1111 1111 1111 0110
因此,整數-10在內存中的二進制形式是:1111 1111 1111 1111 1111 1111 1111 0110
新聞熱點
疑難解答