看板 Programming 關於我們 聯絡資訊
各位大大 今天學長被這個BUG 卡了一個下午 如下 //-------------------- JAVA 版本 float a = 16253187; a += 0.5; System.out.print(a); //答案 : 1.6253188E7 //-------------------- BCB 6.0 版本 float a = 16253187; a += 0.5; printf(a); //答案 : 16253188 //-------------------- 不論是哪個版本他都會變成 +1 如果把 a 改成 double 就維持 + 0.5 請問這個是什麼問題? 應該還沒有超過 float 的表示範圍吧!? 救救我學長 && 我吧>.<" 謝謝 -- Q ▆▆ 倫家只有聽過葉問~ S ≡◥? 這是需要洨問的!   W ◤□︵□ ╱ ̄ ̄ ̄╲ E w │>  <│ E │(======)│ T ●~ ★沒有好康★ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.13.127.179
LPH66:http://0rz.tw/3450A 140.112.28.92 04/29 17:45
MOONRAKER:a的有效數字達八位 其實算是超過了 59.120.168.228 04/29 19:09
yoco315:你學長竟然有 overloading operator && ()118.160.111.220 04/29 22:19
COLDTURNIP:推樓上的笑點 XD 118.166.67.248 04/30 00:45
LPH66:其實因為高位是1的關係 這裡正好用完24bit 140.112.24.133 04/30 00:50
cooljony0109:原來如此~謝謝各位神手T^T 163.13.127.179 05/01 16:47