[問題] C語言對overflow處理

看板C_and_CPP作者 (HOHA)時間4年前 (2019/06/19 00:29), 4年前編輯推噓4(4012)
留言16則, 7人參與, 4年前最新討論串1/1
小弟在書上看到一段不同程式語言對overflow處理的敘述 以下節錄片段 Some languages(e.g., C) ignore overflow. Other langauges(e.g., Ada, Fortran) require raising an exception 因為沒接觸過有 overflow exception 的語言 一直都認為是程式設計師需要自己注意 想問的是,既然程式語言的設計可以做到 overflow 的 exception handling 那麼為何像 C語言這類的語言要保留可能會overflow的空間呢 一直想不太明白 不知道各位有沒有什麼看法 感謝 -- 不確定這篇發在本版是否合適 若有不妥還請版主幫忙刪除,謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 134.208.35.188 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1560875382.A.BC8.html

06/19 01:07, 4年前 , 1F
看 CPU 有沒有 bounds checking 的指令啊
06/19 01:07, 1F

06/19 01:09, 4年前 , 2F
而且它會影響效能,自動做 bounds checking不見得是好事
06/19 01:09, 2F

06/19 01:10, 4年前 , 3F
以前曾經有個同事可能第一次寫物件太興奮,每個運算元
06/19 01:10, 3F

06/19 01:12, 4年前 , 4F
存取資料都加上邊界檢查值域檢查,最後效能整個悲劇....
06/19 01:12, 4F

06/19 01:20, 4年前 , 5F
寫code跟開車一樣 安全跟速度這兩件事是有衝突的
06/19 01:20, 5F

06/19 02:49, 4年前 , 6F
以c而言,字元交換若使用xor法,不處理overflow反而比較簡
06/19 02:49, 6F

06/19 02:49, 4年前 , 7F
06/19 02:49, 7F
感謝 大致了解了 也就是說在追求效能的情況下 省去了overflow的檢查來提升速度

06/20 04:38, 4年前 , 8F
我之前演算法剛學vector 狂用at 然後有一題一直不知道為
06/20 04:38, 8F

06/20 04:39, 4年前 , 9F
什麼TLE 最後考完我回宿舍想很久發現應該是at太久了
06/20 04:39, 9F

06/20 04:39, 4年前 , 10F
一題好像25分 QQ
06/20 04:39, 10F

06/21 22:28, 4年前 , 11F
回 moebear 大大 應該是你不斷塞東西進 vector 到某
06/21 22:28, 11F

06/21 22:28, 4年前 , 12F
個大小需要搬移才會太久
06/21 22:28, 12F

06/22 00:17, 4年前 , 13F
vector使用須知,使用前請預先預留空間
06/22 00:17, 13F

06/22 04:57, 4年前 , 14F
C語言把你當成電腦的主人 上個C沒寫好導致溢位的人讓火
06/22 04:57, 14F

06/22 04:57, 4年前 , 15F
箭掉下來qq (認真
06/22 04:57, 15F

06/22 08:46, 4年前 , 16F
樓上講的那個是Ada吧 還是又有其他火箭失事了XD
06/22 08:46, 16F
※ 編輯: hohamita (134.208.250.73 臺灣), 06/23/2019 22:00:41
文章代碼(AID): #1T2H5sl8 (C_and_CPP)