20135219洪韶武——信息安全系統設計基礎第三周學習總結 -开发者知识库

20135219洪韶武——信息安全系統設計基礎第三周學習總結 -开发者知识库,第1张

信息安全系統設計基礎第三周學習總結

學習內容:教材第二章/實驗樓                    

學習時長:10 小時               


 

一.教材知識點梳理

1.信息存儲

  *機器級程序將存儲器視為一個非常大的字節數組,成為虛擬存儲器;存儲器的每個字節都由一個唯一的數字來標識,成為他的地址

  *十六進制表示法/十進制和十六進制轉換

  *排列表示一個對象的字節的兩個通用規則:小端法/大端法

  *字節變可見的三種情況

  *C語言中字符串被編碼為一個以null字符結尾的字符數組

  *位級運算/邏輯運算/移位運算

2.整數表示

  *整數數據類型表示有限范圍的整數

  *無符號編碼,有符號編碼,無符號數和有符號數之間轉換

  *C語言中無符號有符號數之間的轉換原則:底層的位保持不變

  *零擴展:在一個無符號數表示的開頭添加0

  *符號擴展:在表示中添加最高有效位值的副本

  *無符號數的截斷結果/補碼數字的截斷結果

3.整數運算

  *無符號加法/補碼運算

4.浮點數

  *從二進制小數理解浮點數

  *IEEE浮點格式標准:P70

  *根據exp值,被編碼的值可以分為三種情況

  *舍入的關鍵問題是在兩個可能值的中間確定舍入方向

  *浮點運算

二.重點知識點理解(實驗樓要求)

1.無符號數、有符號數(2進制補碼)、浮點數,從逆向角度考慮為什么會產生漏洞?

  任何漏洞產生都必然因為系統不可更改的局限性/無符號數、有符號數、浮點數的局限性/無符號數或者有符號數的表示范圍有限,而浮點數雖然編碼范圍大,但是不精確

2.gcc -m32 可以在64位機上生成32位的代碼

3.在C語言中,所有以0X或者0x開頭的數字常量都常被認為是十六進制的值

4.字節順序的兩種表示方法:小端是“高對高、低對低”,大端與之相反

5.代碼執行一下

20135219洪韶武——信息安全系統設計基礎第三周學習總結 -开发者知识库,第2张

6.文本數據比二進制數據具有更好的平台適應性。

7.將有符號數強轉成無符號數之后,數字的數值發生改變,然而其位表示不變。

8.怎么樣讓負數等於正數?

  在負數x后加上U,可以使其轉換為(2^w x)

9.零擴展類似於邏輯左(右)移

  將一個無符號數轉換為一個更大的數據類型,簡單地在前面加上0。符號擴展類似於算數左(右)移。即:將一個補碼數字轉換為一個更大的數據類型,在表示中添加最高有效位值得副本。

10.整數與浮點數表示同一個數字的關系

  整數與浮點數表示同一個數字時,化成二進制形式之后,可以看到,整數等於1 的最高有效位之后的數字,與浮點數小數部分的高位是相匹配的。

11.整數與浮點數轉換規則

  整數轉換成二進制表示,然后小數點左移若干位得到規格化表示;取出小數部分的數值,在后面補0使其達到23位; 用frac加上偏置量得到的結果用二進制表示,放在取出的部分前面,再加上一個符號位即可。

三.學習體會

  這周學習我看課本更多,相比以往我感覺看課本這種方式比做實驗樓要更好理解知識一些,而且跟着老師的問題有重點的看,感覺學起來比之前輕松了一點。

最佳答案:

本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复