推 suhorng:9223372036854775807LL 07/25 21:13
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
gcc+ubuntu
程式碼(Code):(請善用置底文網頁, 記得排版)
long long int p = 9223372036854775807;
printf("%lld\n",p);
補充說明(Supplement):
不知道為什麼這段程式碼gcc會輸出
integer constant is too large for ‘long’ type
意思是他會先用long去暫存9223372036854775807(2^63-1)
然後再把他放到long long int p中嗎
那這樣為什麼一開始的long不會overflow呢?
因為我p還是可以正常印出該數字
不太清楚在這過程中gcc做了什麼事情
謝謝各位版友的指教
--
~宅男的四個徵兆~
∠□ ○ ! * \○/ ★ (○ ?
╦╦└□ " ○□═ □ □>
║║√√ ╦══╦ ∥ |\
一回家就上PTT 每天想正妹 以當好人為樂 忘記正妹虧欠自己
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 36.239.23.219