04 黑馬程式設計師 進製 記憶體分析

2021-06-21 10:48:24 字數 1545 閱讀 9916

概念:是一種計數的方式,數值的表示形式

進製涉及的概念:基數

基數:基數是用來計算數值的,比如十進位制的基數是10,二進位制的基數是2

基數的使用:110 = 1*10^2+1*10^1+0*10^0 = 100+10+0 = 110

漢字:十一   十進位制:11  二進位制:1011  八進位制:13

多種進製:十進位制、二進位制、八進位制、十六進製制。也就是說,同乙個整數,我們至少有4種表示方式

1>    特點:只有0和1,逢2進1

2>    書寫格式:0b或者0b開頭

3>    使用場合:二進位制指令\二進位制檔案,變數在記憶體中就是二進位制儲存

4>    二進位制和十進位制的互相轉換

5>    n為二進位制位所能表示的資料範圍(不考慮負數):0~2的n次方-1

1>    特點:0~7,逢八進一

2>    書寫格式:0開頭

3>    八進位制和二進位制的互相轉換

1>        特點:0~f,逢十六進一

2>        書寫格式:0x或者0x開頭

3>        十六進製制和二進位制的互相轉換

研究變數在記憶體中的具體儲存情況

為了更好地理解變數在記憶體中的儲存細節,先來認識一下記憶體中的「位元組」和「位址」。

1>    記憶體以「位元組為單位」

2>    不同型別占用的位元組是不一樣的

1>    所占用位元組數跟型別有關,也跟編譯器環境有關

2>    變數例項

int b = 10;

int a = 134;

*   記憶體由大到小定址

*   只儲存二進位制形式

4>    檢視整數的二進位制形式

// 輸出整數的二進位制形式

voidputbinary(int n)

printf("\n");

任何數值在記憶體中都是以補碼的形式儲存的。

1>    乙個位元組的取值範圍

2>    負數的表示形式

3>    原碼、反碼、補碼

*正數的補碼與原碼相同。

*負數的補碼等於它正數的原碼取反後再加1

那麼-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 

黑馬程式設計師 04初識物件導向

windows phone 7手機開發 net培訓 期待與您交流!萬物皆物件 屬性 事物所具有的各種特徵,每個屬性都有特定的值 方法 事物的行為 動作 物件 實實在在存在的東西 類 類是模子,確定物件將會擁有的特徵 屬性 和行為 方法 類是抽象的概念,僅僅是模板。物件可以叫做類的例項化。類不佔記憶體...

黑馬程式設計師 04 三大特性

三大特性 封裝 繼承和多型 1 set 方法和get方法 public型別的成員可以被隨意訪問,應該使用 set方法和 get方法來管理成員的訪問,這樣做可以達到過濾不合理的值 遮蔽內部的賦值過程 讓外界不必關注內部的細節等好處 2 set方法 3 get方法 4 示例 import 宣告 inte...

黑馬程式設計師 OC 記憶體管理

1.什麼是記憶體管理 管理範圍 任何繼承了nsobject的物件,對其他基本型別無效 2.物件的基本結構 每個oc物件都有自己的引用計數器,是乙個整數,表示 物件被引用的次數 即有多少個人正在使用oc物件 每個oc物件內部專門有4個位元組的儲存空間來儲存引用計數器 3.引用計數器的作用 當使用all...