程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> c語言-關於-2147483648的問題??

c語言-關於-2147483648的問題??

編輯:編程綜合問答
關於-2147483648的問題??

if(-2147483648 > 0) ----> true
if( int (-2147483648) >0 ) ----> false

上面兩句話為什麼是不同的結果??

最佳回答:


http://www.hankcs.com/program/cpp/error-c4146-%E4%B8%80%E5%85%83%E8%B4%9F%E8%BF%90%E7%AE%97%E7%AC%A6%E5%BA%94%E7%94%A8%E4%BA%8E%E6%97%A0%E7%AC%A6%E5%8F%B7%E7%B1%BB%E5%9E%8B%EF%BC%8C%E7%BB%93%E6%9E%9C%E4%BB%8D%E4%B8%BA%E6%97%A0.html

編譯器(VS2013)在看到int n = -2147483648;的時候,首先判斷2147483648 > INT_MAX,知道int裝不下,於是決定使用 unsigned int。然後發現前面還有個負號,於是對2147483648取反

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved