MDK 出現#68-D: integer conversion resulted in a change of sign


.在KeilARM的LPCARM,存在(1<<31)編譯警告問題main.c(174): warning: #61-D: integer operation result is out of rangemain.c(174): warning: #68-D: integer conversion resulted in a change of sign由於編譯器默認signed int即32位有符號整數類型,而1<<31實際為0x80000000,這樣就有可能改寫了符號位(最高位)依此類推,(2<<30),(3<<29)...等都會出現編譯警告問題.解決辦法為: ((unsigned int)1<<31),((unsigned int)2<<30),...


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM