0x00 加法運算
4+50000 0100
0000 0101
--------- xor
0000 0001 (沒有進製的結果)
0000 0100
0000 0101
--------- and
0000 0100 (不為0,有進製)
--------- << 1
0000 1000 (進製值)
0000 0001 (沒有進製的結果)
0000 1000 (進製值)
--------- xor -> 判斷是否有進製
0000 1001 -> 沒有進製最終結果(有進製繼續重複and,左移,xor)
a+ba xor b -> c 出去進製的結果
a and b -> d 進製的位; d=0 c為最終結果; d≠0,向下運算
shl d, 1 進製的值
c -> a, d -> b
a+b 重複a+b過程
0x01 減法運算
4-5 = 4 + (-5) = 4 + 0xfb
0000 0100
1111 1011
--------- xor
1111 1111
0000 0100
1111 1011
--------- and
0000 0000
1111 1111 -> 最終結果 0xff = -1
減法就是加這個數的相反數
0x02 乘法
x * y本質是加法 -> x個y或y個x相加
有限次迴圈加法
0x03 除法
x / y本質是減法 -> x可以減去多少個y
無限次迴圈減法,直到結果小於被除數,也就得到了餘數
0x04 總結
計算機只認識0 和 1,只會做位運算,不會進行 + - * /等基本運算.
通過位運算衍生出加法運算,通過加法運算衍生出 減法/乘法/除法運算.
基於四則運算計算機可以完成一系列更複雜的運算.
資料寬度 -> 有/無符號數 -> 位運算 -> 四則運算
0X04儲存資料
coding utf 8 usr bin python 儲存資料 模組json 讓你能夠將簡單的python資料結構轉儲到檔案中,並在程式再次執行時載入該檔案中的資料。你還可以使用json 在python程式之間分享資料。更重要的是,json資料格式並非python專用的,這讓你能夠將以json格式...
C語言雜記 0x04
函式的返回值可以理解為 定義乙個和返回值型別相同的變數,並且用return後面的語句進行初始化 函式分返回值不是左值,或者說函式表示式不能作為左值,因此下面的表示式是違法的 is even 20 1 遞迴能解決的問題迴圈也能解決,只是解決的思路不一樣 對於遞迴來說,分配和釋放了好多位址空間,所有變數...
逆向 1 彙編 0x09 JCC
0x00 常用標誌位 狀態標誌 位 標誌 含義 通途 0 cf 進製標誌 無符號數最高位進製 借位 進製 借位 1 2 pf 奇偶標誌 常用於資料傳遞,奇偶校驗 最低位元組偶數個1 1 4 af 輔助進製 bcd算術運算中使用 算術操作結果第三位進製 借位 1 6 zf 0標誌 常與cmp test...