1. 程式人生 > >9月12日-高階語言程式設計-課程內容(2)

9月12日-高階語言程式設計-課程內容(2)

9月12日第二次上課記錄

主要內容: 1,ASCII碼 2,IP地址 3,模的運算 4,浮點數編碼 5,多媒體編碼

1,ASCII碼

  • ASCII碼儲存在七位二進位制,但是因為計算機記憶體最小訪問單位是一個位元組,即八位二進位制,故在最左端新增一位,用作校驗。

  • ASCII碼中1的奇偶即是校驗位的大小,如果有奇數個1,那麼校驗位則為1,如果有偶數個1,校驗位則為0。比如1 00100000,0 10010000。

  • ASCII碼中32~126(共95個)是字元(32是空格),0~31及127(共33個)是控制字元或通訊專用字元(其餘為可顯示字元),其中65~90為26個大寫英文字母,97~122號為26個小寫英文字母,其餘為一些標點符號、運算子號等。

隨著中國電腦開始普及,ASCII碼不能代表中文的問題愈發突出,1980年,中國國家標準局釋出了GB2312-80,收入漢字6763個和非漢字圖形字元682個。整個字符集分成94個區,每區有94個位。每個區位上只有一個字元,因此可用所在的區和位來對漢字進行編碼,稱為區位碼。

一個漢字佔16位,兩個位元組,前一個位元組存放區號,稱為區位元組(高位位元組),後一個位元組存放位號,稱為位位元組(低位位元組)。

區位元組使用了0xA1-0xF7(把01-87區的區號加上0xA0【160】),位位元組使用了0xA1-0xFE(把01-94加上 0xA0【160】)。區號0xA0之前存放的是漢字外其他字元,如英文字元,圖形字元和控制字元等。

區位碼=區位元組+位位元組

拓展:

  • GB18030-2000將漢字擴充至2.7萬。
  • GB18030-2005將漢字擴充至8萬。

    Unicode是USC碼的子集,採用2位元組,16位地址。ASCII碼仍然是電腦運作的基礎,不過字元太少,所有更多由Unicode碼錶示,它包含了多國語言。

2,IP地址

IP地址全稱網際網路協議地址,它為網際網路上的每一個網路和每一臺主機分配一個邏輯地址,以此來遮蔽實體地址的差異。

  • IPv4採用32位地址長度,只有大約43億個地址,估計在2005~2010年間將被分配完畢,大部分都在美國,中國基本只能使用代理。
  • IPv6採用128位地址長度,幾乎可以不受限制地提供地址。

二進位制內容補充: 有無符號情況下,八位元組都能儲存256個字,二進位制第一位可用作表示符號,以下為例: 無符號

二進位制 十進位制
00000000 0
00000001 1
01111111 127
10000000 128
10000001 129
11111110 254
11111111 255

有符號

二進位制 十進位制
0 0000000 0
0 0000001 1
0 1111111 127
1 0000000 0
1 0000001 -1
1 1111110 -126
1 1111111 -127

3,模的運算

  • 模是一個系統所能表示數的個數,例如五進位制的模是5,二進位制的模是2。
  • 超出模能表達的範圍,資料就會溢位,例如當模為12的時候,13就會變成1,-9就會變成3。

1,補碼 一個負整數與其補數相加,和為模。利用這點,我們可以計算出補碼,並用補碼錶示這個負數。第一位數代表符號,負數是1,正數是0。 求補碼:先求反碼,最低位再加1即可。

  • 一個數字代表多少取決於你的用途,例如65,如果你輸出數值,就是65,輸出正負,就是A。

  • 一個二進位制正負取決於輸出,你可以認為他是帶符號的,也可以認為是不帶符號的,就事論事。

4,浮點數編碼

符號位:正數為0,負數為1 指數位:十進位制127+指數(轉換成二進位制後,對其進行科學記數法轉換可得,整數部分只保留一位,正負均可),不足八位則補齊。 尾數位:遵循十進位制轉二進位制對小數部分進行轉換,得到的數字,不足規定尾數則補齊。 將所有數字拼接則可得到浮點數編碼。

符號(1位) 階碼 尾數

IEEE754中規定了幾種浮點數:

浮點數型別 位數 符號 階碼 尾數
短浮點數 32 1 8 23
長浮點數 64 1 8 52
擴充浮點數 80 1 8 64

5,多媒體編碼

影象:顏色數量8bit(256色),16bit(65536色),24bit(16M色)。色彩越多,影象越精緻。 聲音:取樣頻率有22.05KHz,44.1KHz,48KHz三個等級,頻率越高,聲音還原度越高。

因為計算機導論和高階語言程式設計都有講這個內容,等學習完之後再彙總