2020 08 24 基礎複習1

2021-10-23 18:38:24 字數 1441 閱讀 7477

1. 馮諾依曼體系結構

2. 如何理解記憶體

乙個大走廊 每個房間1位元組

房間門牌號》「位址」

3. 記憶體和外存

(1) 記憶體支援隨機訪問能力,訪問某個位址的開銷差不多

外存也支援隨機訪問能力,但程度不如記憶體,訪問開銷比順序訪問開銷大

(2) 記憶體儲存空間小

外存儲存空間大

(3) 記憶體訪問速度快 (記憶體快3--4個數量級,幾千倍)

外存訪問速度慢

(4) 記憶體成本高

外存成本低

(5) 掉電時, 記憶體資料丟失, 外存資料還在

4. c語言中變數型別

(1) 整數型別(char, int, short, long, long long,...)

(2) 浮點數型別(float, double)

(3) 指標型別(char*, int*)

(4)結構體

如何通過除錯檢視記憶體

位元組序:

(小端位元組序) 數字的低位存到記憶體的低位址上

(大端位元組序) 數字的低位存到記憶體的高位址上 (和數學上的方式一致)

如何判斷是大端還是小端位元組序?

檢視這個整數的最低位址的乙個位元組,小端返回1, 大端返回0.

int islittleend() 

return 0;

}

int* p = &num              此處的 * 和int是乙個整體, 組成(int*) 型別

printf("%d", *p)            此處的 * 是解引用操作, 根據指標變數中儲存的位址找到對應的記憶體中的值.

關於負整數在記憶體中的儲存: 符號位

int 既能表示正數也能表示負數, 最高位是符號位 ( 0表示正數, 1表示負數)

unsigned int 只能表示正數

計算機中儲存方式為補碼 (讓硬體實現更簡單)

原碼符號位不變, 取反+1 得到補碼

補碼符號位不變, 取反+1 得到原碼

%d: 列印乙個有符號十進位制的整數.

char 是乙個位元組得變數, 當按照 %d 列印時, 就會把 char 隱式轉換為 int 型別的變數, 然後再列印.

%u: 列印乙個無符號的十進位制整數.

%f: 列印 float 和 double 型別的資料

%p: 列印指標變數(列印的是乙個位址) 

unsigned 型別的變數盡量不要用! 容易出現問題, 尤其是不同型別轉換時.

型別轉換 char => int => unsigned int

高位填充符號位

JAVA語言基礎複習1

物件導向 一.什麼是類?類就是有 相同屬性和方法 的一組物件的集合 二.什麼是物件?物件就是 用來描述客觀事物的乙個 實體,由一組 屬性和方法構成 三.方法和屬性是什麼?方法就是物件執行的 操作屬性就是物件的 特徵四.什麼是方法過載?方法的過載就是方法名一樣,引數列表不一樣 public class...

C語言基礎複習1

不改變其他位的值的狀況下,對某幾個位進行設值。這個場景微控制器開發中經常使用,方法就是先對需要設定的位用 操作符進行清零操作,然 後用 操作符設值。比如我要改變 gpioa odr 的狀態,可以先對暫存器的值進行 清零操作 gpioa odr 0xff0f 將第 4 7 位清 0 然後再與需要設定的...

複習基礎知識1

1,classloader 基本概念 2 unicode 3static,其中味靜態 塊為區域性變數 4 j j 無論加多少次,j的值都是不變的 temp j j j 1 j temp 5 j j j j 6 length用法 char c 13c short byte char int long ...