[問題] 請問一下程式上小數的問題

看板Electronics作者 (iop14759)時間7年前 (2016/09/06 11:56), 7年前編輯推噓0(004)
留言4則, 1人參與, 最新討論串1/1
因為目前比較菜還在學習階段所以有時候弄tool時是拿原本就有的tool來改 比如現在遇到的這個light sensor http://imgur.com/a/oZ2IL tig有六個選項,所以改一下6個選項對應6種code http://imgur.com/a/Gnn9a http://imgur.com/a/7BGdn 如上面那樣,可是發現選到tig=1.536和3.072時就會當掉 一開始是把int改成double和float,但是還是會當 後來把1.536改成1、3.072改成3就能正常使用了 雖然能正常使用了但是還是想問看看是什麼原因啊? 有小數點不是改成float就好了嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.248.158.217 ※ 文章網址: https://www.ptt.cc/bbs/Electronics/M.1473134216.A.81F.html

09/06 13:56, , 1F
浮點數的 == 要很小心,你這樣寫會有轉換誤差
09/06 13:56, 1F

09/06 13:57, , 2F
雖然 tig_sel 你說你宣告為 float (我是沒看到宣告啦)
09/06 13:57, 2F

09/06 13:57, , 3F
但常數 1.536 你這樣寫 data type 是 double
09/06 13:57, 3F

09/06 13:59, , 4F
在 == 那邊改成寫 1.536f 使用 float type 就可以了
09/06 13:59, 4F
感謝 請問這個+f是要找什麼書籍啊?我看我手邊兩本c語言入門的書籍都沒看到要+f ※ 編輯: IOP14759 (60.248.158.217), 09/07/2016 09:22:23
文章代碼(AID): #1NpZw8WV (Electronics)