彙編與C程序疑難 - 計組討論課4

題一 代碼一結果是0x80000000,代碼二會出現運行錯誤。 代碼一中,在計算變量除以整數時,編譯器做了優化,自動將該變量轉化成一系列位運算和加法運算。如除以-1,他直接把數據取反了,沒有執行除法。而除以變量時,不會執行這樣的優化,直接除了。而INT_MIN(有符號)除以-1,和任意整數除以0,一樣,會出現錯誤,這與SIGFPE信號有關。關於SIGFPE信號的wiki。 有以下相關的知識 efl
相關文章
相關標籤/搜索