4
我有一個奇怪的結果來自一些大數學&不知道爲什麼我從vb.net vs python得到不同的答案。UInt64在做大數學時會不知所措?
這裏是快速片段&結果:
VB.NET
Dim MSB As UInt32 = 3067297518
Dim LSB As UInt32 = 1439785590
Dim sqln As UInt64 = MSB * (2^32) + LSB
Python:
sqln = msb * (2 ** 32) + lsb
Python Result: 13173942528351756918
VB RESULT: 13173942528351756288
注:我也嘗試宣告sqln作爲一個烏龍和雙(相同的答案) 的MSB和LSB是一根火柴,在這兩種調試器 - ! ??
任何想法? = +我的謝謝
傑出的喬恩 - 非常雄辯的&它的工作原理! 有一點跟進可以爲最後的作品提供一個修補程序嗎?我相信,即使你得到了我的sqln理順:)
python says: = bdntyxtax2smq
vb.net says: = bfpuzytbx3s00
VB.NET
Dim sqlid As String = ""
Dim alphabet As String = "abcdfghjkmnpqrstuvwxyz"
For iCount = 0 To 12
sqlid = alphabet((sqln/(32^iCount)) Mod 32) + sqlid
Next
Python:
for i in range(0, 13):
sqlid = alphabet[(sqln/(32 ** i)) % 32] + sqlid
很有口才和它的作品! – 2012-03-01 20:49:50