討論串[問題] XOR交換值問題
共 3 篇文章
首頁
上一頁
1
下一頁
尾頁
內容預覽:
語言:CPP. 今天寫quick sort的時候發現原本常用的交數值方法好像有觀念上的問題. https://i.imgur.com/GwH4NbM.png. 我習慣的用法是第二十七行 直接用參考交換兩個值. 但是發現印出來後都是一堆0. 後來交叉比對後發現是XOR交換值的問題. 想請問一下是不是陣
(還有62個字)
內容預覽:
我簡單歸納一下討論結果 如有不對請再補充. XOR拿來交換是可以的 但是如果要換陣列的元素 記憶體位置不能一樣. 如果 a = 0x0001 value = 3. b = 0x0001 value = 3. 經過一次XOR之後 0x0001 ^ 0x0001 結果會是 0x0001 --> 0. 可
(還有71個字)
內容預覽:
這樣的寫法要追朔到手工撰寫組合語言. 當時連對記憶體和暫存器的使用都斤斤計較. 所以如果用一個額外的暫存器去儲存值的話. 代表 register spilling 的可能性會增加. 因為為了要確保這個跳到 label 處理完後. 要把我們剛 push 出去的值再 pop 回來要不少的時間. 這段時間
(還有657個字)
首頁
上一頁
1
下一頁
尾頁