所以我知道當你x mod 2^n對無符號操作進行操作時,編譯器只會將該操作轉換為x & (2^n - 1).
但是當我查看使用有符號數字的編譯器實作時,例如
int signed_rem8(int x) { return x %8; }
我得到這樣的東西(https://godbolt.org/z/xY3Ef6WEc):
movl -4(%rbp),
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/437324.html
