c記憶體:
棧:區域性變數、函式形參 由編譯器管理(函式結束,記憶體釋放)
堆: malloc 開闢空間 free 釋放空間 由程式設計師管理
全域性區/靜態儲存區: 全域性變數和靜態變數 編譯器管理: 程式結束,記憶體釋放
常量區:儲存常量 編譯器管理
**區:存放編寫的** 編譯器管理
一般全域性靜態區和常量區都是放在一起的
bit 位元
byte 位元組 = 8bit
word = 4 byte
計算機裡面的計算都是用反碼來計算的
原碼
最高位作為符號位 (0代表正 1代表負)
7 0000 0111 -7 1000 0111
127 0111 1111 -127 1111 1111
反碼
如果為正 與原碼相同 。 如果為負 ,符號位為1,其他與原碼相反
7 0000 0111 -7 1111 1000
補碼
正數 原碼 反碼 補碼 都一樣
負數: 反碼 +1
7 0000 0111 -7 1111 1001
使用反碼求原資料,如上面 -7 除符號位其他各位求反 1000 0110 再加1 就得到了原資料
計算機內正負數都是用補碼來計算的
如上圖我輸出的是十六進製制的-10,實際上輸出的是-10的反碼
-10 原碼 1000 0000 0000 0000 0000 0000 0000 0000 1010
反碼 1111 1111 1111 1111 1111 1111 1111 1111 0101
補碼 1111 1111 1111 1111 1111 1111 1111 1111 0110
f f f f f f f f 6
如果是+10的話 就是正常輸出 10的16進製為 a
C語言原碼 反碼 補碼
原碼 反碼 補碼 計算機的基本儲存單元是位元組 byte 計算的的最小儲存單元是位 bit c語言當中的數被分為有符號數和無符號數 有符號數是 正數 負數 0 無符號數是 0 不帶符號的正數 對於無符號數和有符號數的0和正數,原碼 反碼 補碼一致 對於有符號數,最高位為符號位,0代表 1代表 對於有...
C語言 原碼 反碼 補碼
c語言 原碼 反碼 補碼 本文以12和 12 為例,簡要介紹正數和負數的原碼 反碼 補碼求解過程 注 本文均以c語言中整數int所佔4位元組32位形式來求解!正數原碼 反碼 補碼 1 求解方法 正數的原碼 反碼 補碼!2 例子 求解12的原碼 反碼和補碼?解 12對應的二進位制形式為 1100 原碼...
C 基礎 原碼 反碼及補碼
以下內容均以8bit值為例進行敘述。資料說是為了方便計算機將減法轉換為加法,計算機中只有加法運算器,但是為什麼使用補碼可以進行轉換?這一步的意義是什麼,以二進位制講解比較抽象,以圓為例進行講解。其實補碼可以用數學中的補數或相反數模擬。如下圖所示圓,原點在圓心,往右為x軸正方向,以圓心為端點的射線與x...