這在其他(也許是所有)語言中無疑是這樣,但我只用Python進行測試。我的問題是這樣的: 在對兩個值進行不同精度的算術運算時,爲什麼NumPy以最高精度返回值的dtype結果?NumPy在浮點運算中將精度降低到更高的精度
例如
import numpy as np
single = np.array([[1, 2, 3], [4, 5, 6]], np.float32)
double = np.array([[1, 2, 3], [4, 5, 6]], np.float64)
diff = single-double
print "single data type -", single.dtype
print "double data type -", double.dtype
print "diff data type -", diff.dtype
收率:
單個數據類型 - FLOAT32
雙數據類型 - float64
差異數據類型 - float64
據我所知浮動點精度,代表額外的後半部分diff
並不準確。在那種情況下,將結果轉換爲最高精度而不是最低精度的原因是什麼?