根據the docs Ruby Float是一個「使用本機體系結構的雙精度浮點表示形式的不精確的實數」。如何找出Ruby中Float的大小是多少?
這是否意味着在32位Ruby上它們相當於一個C float
和64位Ruby到一個C double
?
如果是的話,我該如何在運行時找出運行哪個Ruby程序(精確到多少位)?它應該適用於任何操作系統和任何Ruby實現(mri ruby,rubinius和jruby)。
我想出瞭解決辦法:
def architecture_bits
1.size * 8
end
是否在任何情況下工作?有更好/更優雅的方法嗎?
無論是32位還是64位,雙精度通常意味着一個64位雙。 – 2014-11-08 08:26:57
我需要確定,你確定嗎? – 2014-11-08 08:38:52
Ruby中的所有浮點數都是雙精度的 – Benji 2014-11-08 08:39:17