C筆記01 C簡介與補碼

2021-09-05 12:17:59 字數 2274 閱讀 5254

愛課程資源共享課

0.計算機的體系結構

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-vgqn98sm-1593052925501)(

1.計算機語言的發展歷程

2.高階語言

3.c語言標準

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-y8hxeskb-1593052925516)(

4.c語言的應用

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-p2u7f1jz-1593052925518)(

人類自然認知的數:十進位制數

計算機中儲存的數:二進位制(硬體上好實現)

1.二進位制數

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-fdysftzj-1593052925523)(

2.正負數的二進位制表示與雙零問題

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-ayiv7pif-1593052925524)(

3.補碼的引入

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-c1ic2vyf-1593052925526)(

1.怎麼看待"運算"?

計算機的視角:0/1序列的邏輯運算.沒有什麼無符號或有符號的概念和區別,也沒有什麼加減乘除法的概念,一切都是0/1序列,一切操作都是邏輯運算而已.

人類的視角:用邏輯電路對計算進行判斷和控制,使得它表現出我們想要或我們能理解的內涵與資訊.

由此,引申出兩個概念:

2.原始碼,反碼,補碼的機器數與真值

3.補碼的優勢

4.定點補碼計算法則及其證明(為什麼可以用補碼表示數和進行計算)

計算法則 : 在不溢位情況下, [x]補+[y]補=[x+y]補 (溢位:結果超出編碼所能表示的數的範圍)

設計算機補碼的位數為m.且x=|x|,y=|y|

溢位的情況:

0 < x <2m-1

0 < y <2m-1

兩正相加時: x+y >= 2m-1(兩正相加,向符號位進製)

兩負相加時: x+y >2m-1(兩負相加,非符號位之和不足以向符號位進製)

(1)情況1:兩正數相加正向溢位

(2)情況2:兩負數相加反向溢位

不溢位的情況:

0 < x <= 2m-1

0 < y <= 2m-1

兩正相加時: x+y < 2m-1(兩正相加,不向符號位進製)

兩負相加時: x+y >= 2m-1(兩負相加,非符號位之和足以向符號位進製)

(3)情況3:正數相加不溢位

等式左邊:

[x]補+[y]補=x+y

等式右邊:

[x+y]補=x+y

左邊等於右邊,等式成立

(3)情況4:負數相不溢位

等式左邊:

[x]補+[y]補=2m+2m-(x+y)

(注:第乙個2m是負數符號位相加的天然進製,可以捨去),所以左邊的最終結果為: 2m-(x+y)

等式右邊:

[x+y]補=2m-(x+y)

左邊等於右邊,等式成立

(4)正負相加絕不會溢位

0 < x <= 2m-1

0 < y <= 2m-1

則根據不等式,可推出:

-2m-1

< x-y < 2m-1,即: 0 <= |x-y| < 2m-1.

因此,正負數相加的結果也可以被表示,絕不會溢位.

我們假設x為正,y為負:

等式左邊:

[x]補+[y]補 = x+2m-y = 2m-(y-x) = 2m+(x-y)

當x>=y時,左邊 = 2m+(x-y) = x-y(注:2m相當於符號位向更高位的進製,而符號位本身就是最高位,故可以捨去)

當xm+(x-y) = 2m-(y-x)

等式右邊:

當x+y>=0時,x>=y,[x+y]補= x-y

當x+y<0時,xm-(y-x)

左邊等於右邊,等式成立

(5)兩運算元之中至少有乙個為0的情況: 顯然,等式是成立的.

綜上所述: 在不溢位的情況下,[x]補+[y]補=[x+y]補成立.

5.補碼運算原理

6.注意事項與說明:

01 C語言 簡介

c 語言是一種通用的高階語言,最初是由丹尼斯 里奇在貝爾實驗室為開發 unix 作業系統而設計的。c 語言最開始是於 1972 年在 dec pdp 11 計算機上被首次實現。在 1978 年,布萊恩 柯林漢 brian kernighan 和丹尼斯 里奇 dennis ritchie 製作了 c ...

C語言學習筆記 01 C語言簡介

c語言是一門面向過程 抽象化的通用程式語言,廣泛應用於底層開發。c語言能以簡易的方式編譯 處理低階儲存器,是僅產生少量的機器語言以及不需要任何執行環境支援便能執行的高效率程式語言。c語言誕生於美國的貝爾實驗室,由d m ritchie以b語言為基礎發展而來,在它的主體設計完成後,thompson和r...

C 基礎 01 C 初識

學習一門新的程式語言,必須實際動手編寫程式 語言基本特徵 1.內建資料型別 2.表示式和語句 用於操作上述型別 3.變數 可以使用變數對所用的物件命名 4.控制結構 可以使用控制結構有條件地執行或重複執行一組動作 5.函式 可以使用函式把行為抽象成可呼叫的計算單元 int main 與其它程式語言的...