[問題] 初學者對不同資料型態運算的問題

看板C_and_CPP作者 (迷失的路口)時間14年前 (2011/03/06 16:43), 編輯推噓1(102)
留言3則, 3人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) DEV C++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 計算出來的結果跟想像中不一樣 餵入的資料(Input):預期的正確結果(Expected Output): b*c=148.8 錯誤結果(Wrong Output): b*c=148.799995 程式碼(Code):(請善用置底文網頁, 記得排版) #include<stdio.h> #include<stdlib.h> int main(void) { short b=12; float c=12.4f; printf("b*c=%f\n",b*c); system("pause"); return 0; } 補充說明(Supplement): 原本的題目是5個不同的資料型態做運算,我把它簡化如上 後來發現解答寫的答案跟我預期的不一樣 就把程式拿去編譯,發現結果真的是148.799995 有人可以解答我的疑惑,或是找的到相關觀念的說明網頁嗎? 謝謝~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.132.67.150

03/06 16:46, , 1F
請把 148.8 換成二進位
03/06 16:46, 1F

03/06 16:56, , 3F
先感謝樓上兩位^^ 還在努力看懂中,有問題會再提出來
03/06 16:56, 3F
文章代碼(AID): #1DSqaUrL (C_and_CPP)