作者AmosYang (LetMeGoogleThatForYou)
看板java
標題Re: [問題] int i,u; i<=u 與 (long)i<u 結果不同
時間Tue May 18 22:50:37 2010
※ 引述《tkcn (小安)》之銘言:
: 所以我想,如果不是我真的遇到什麼詭異的 bug,就是我有很嚴重的誤解了。
: 請大家給點意見 Q_Q
: 謝謝 :p
剛翻了翻 JLS 沒看出什麼詭異的地方,
剩下能做的就是看看 compile 出來的 bytecode 有沒有什麼詭異的地方
然而,因為看起來在你自己的環境裡的 javac 與 JVM 並沒辦法重現這個 bug
若沒辦法取得確實的 input data & expected output data
及在該機器上 debug/test 的話
除非你能說服該 ACM 題庫管理者…讓他知道有這問題(及其嚴重性)
你現在的處境等於是在要隔空診斷+抓藥
You are pretty much screwed at this point. XD
(不然的話,看你的根性有多強…
若該 ACM 題庫管理者不願意給你 access,
至少問一下他的閱卷機的 OS & JDK version
然後自己架一台,然後繼續追這 bug...)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 65.87.177.87
Welcome to my world, where you can't even trust the compiler & runtime env. XD
※ 編輯: AmosYang 來自: 65.87.177.87 (05/18 22:58)
→ tkcn:追是一定要追囉,只是先確認一下不是我自己白痴誤解了什麼 :p 05/18 23:42
補述幾句 :)
我看了這兩節後的理解與你的想法一樣
http://java.sun.com/docs/books/jls/third_edition/html/conversions.html
5.1.2 Widening Primitive Conversion
5.6.2 Binary Numeric Promotion
不過還沒那個閒去比較那兩種寫法生出來的 bytecode
有興趣的話可以玩玩這個
http://java.sun.com/javase/6/docs/technotes/tools/windows/javap.html
如果在你的機器上生出來的 bytecode 沒有決定性的差異…
說不定是對方的機器上的 javac/JVM 的問題
推 runtime:是在哪submit的? uva? 現在很多站都有收錄acm題庫 05/19 01:05
若能取得 input & expected output 那是最好不過了
※ 編輯: AmosYang 來自: 65.87.177.87 (05/19 05:44)
推 tkcn:通常說 ACM 就是指 UVA 囉。 但我沒聽過測資可以下載的 @_@ 05/19 09:08