視頻地址:http://study.163.com/course/courseMain.htm?courseId=1003265009程序員
課程講解 追求的目標,是從本質上知道程序是如何運行的。 好比if(){}else{}中,如何讓else的那個不執行? 工做幾年的程序員最大的悲哀,是隻會調函數、畫界面,進行重複勞動。作安全、架構,或者管理…… 基礎最重要!安全
編譯器 編譯器將彙編語言轉爲機器語言 inc eax --> 0100 0000 C語言編譯器 將 A+B --> 0100 0000 本質是編譯器愈來愈牛b,是編譯器幫咱們作了更多事情。 不懂彙編的人,必定不專業。 不懂堆棧的人,必定不瞭解外掛。架構
進制 如將十進制定義爲:由十個符號組成,分別是0132876945. 那麼,這個新的定義作成加密,會對解密者形成極大的困擾 量子計算機:不止0和1函數
數據寬度: 存儲超過最大值時,直接丟棄。學習
無符號數和有符號數 無符號數(正數):10011010直接存儲,表示0x9A,或154(十進制) 有符號數:最高位是0爲正數!!1爲負數。 負數與正數編碼規則不一樣。 原碼:當前數的絕對值(正數的反碼,補碼,原碼相同) 反碼(負數):符號位不變,其他位取反 補碼(負數):反碼加一(負數以補碼形式存儲) 即,-1:原碼,反碼,補碼 1000 0001 1111 1110 1111 1111 //FF:內存中以補碼存儲編碼
位運算 你能夠說知道2+3=5,可是若是僅僅只作CRUD,太low。 寫代碼就是體力活,理解原理很重要。 int表示32位加密
1001 0000
1111 1001
0110 1001
0010 0111
經過位運算實現加減乘除:操作系統
加法:先異或,再與(與後作左移)。再將兩個結果異或,直到與運算結果爲0爲止code
減法,至關於加法 4 - 5 = 4 + (-5)視頻
乘法:X * Y,乘法的本質是加法(x個y)
除法:本質是減法,X/Y表示X能減去多少個Y