[英]Is there any definition how floating-point values evaluated at compile-time are rounded?
是否有任何定義如何在 C 或 C++ 中舍入在編譯時計算的浮點值? Fe 當我有“double d = 1.0 / 3.0;” ? 即在編譯時完成什么樣的舍入。
並且是否定義了運行時線程的默認舍入模式(C99/C++11 的 fegetround()/fesetround())?
后面的配置參數中是否也包含四舍五入到整數值? 我知道 nearint(),但這被指定為綁定到可以由 fesetround() 設置的舍入參數。 我擔心的是直接轉換為整數。
在兩個規范(C17 和 C++20)中,編譯時間舍入是實現定義的。
C 規范建議翻譯時間轉換應與庫函數(如strtod
)的執行時間轉換相匹配,但這不是必需的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.