討論串[問題] XOR交換值問題
共 3 篇文章
首頁
上一頁
1
下一頁
尾頁

推噓8(8推 0噓 29→)留言37則,0人參與, 6年前最新作者ptt0720 (濕濕)時間6年前 (2017/11/23 11:10), 編輯資訊
1
1
0
內容預覽:
語言:CPP. 今天寫quick sort的時候發現原本常用的交數值方法好像有觀念上的問題. https://i.imgur.com/GwH4NbM.png. 我習慣的用法是第二十七行 直接用參考交換兩個值. 但是發現印出來後都是一堆0. 後來交叉比對後發現是XOR交換值的問題. 想請問一下是不是陣
(還有62個字)

推噓5(5推 0噓 17→)留言22則,0人參與, 6年前最新作者ptt0720 (濕濕)時間6年前 (2017/11/23 15:19), 編輯資訊
0
1
0
內容預覽:
我簡單歸納一下討論結果 如有不對請再補充. XOR拿來交換是可以的 但是如果要換陣列的元素 記憶體位置不能一樣. 如果 a = 0x0001 value = 3. b = 0x0001 value = 3. 經過一次XOR之後 0x0001 ^ 0x0001 結果會是 0x0001 --> 0. 可
(還有71個字)

推噓12(12推 0噓 5→)留言17則,0人參與, 6年前最新作者Hazukashiine (みなさん、こんにちは)時間6年前 (2017/11/26 13:38), 6年前編輯資訊
0
1
0
內容預覽:
這樣的寫法要追朔到手工撰寫組合語言. 當時連對記憶體和暫存器的使用都斤斤計較. 所以如果用一個額外的暫存器去儲存值的話. 代表 register spilling 的可能性會增加. 因為為了要確保這個跳到 label 處理完後. 要把我們剛 push 出去的值再 pop 回來要不少的時間. 這段時間
(還有657個字)
首頁
上一頁
1
下一頁
尾頁