双重浮动类型转换VS2010的神秘和奇怪的错误

时间:2013-01-08 11:46:06

标签: visual-studio-2010 casting double

请从OpenCV 2.4.2第425行的文件 lkpyramid.cpp 查看从VS2010工作区获取的以下数据

(A12*b2 - A22*b1) * D            -0.0551553(87)159150693    double
(float)((A12*b2 - A22*b1) * D)   -0.0551553(89)         float
delta.x                          -0.0551553(89)         float


(A12*b2 - A22*b1) * D            -0.0564279(18)227904397    double
(float)((A12*b2 - A22*b1) * D)   -0.0564279(18)         float
delta.x                          -0.0564279(18)         float


(A12*b2 - A22*b1) * D            -0.0360617(69)124602773    double
(float)((A12*b2 - A22*b1) * D)   -0.0360617(67)         float
delta.x                          -0.0360617(67)         float

看看数字87-> 89,18-> 18,69-> 67是如何转换的,但是我们不知道编译器是从double转换为float,它是截断还是做多于此。

现在的问题是从double转换为float的逻辑是什么

0 个答案:

没有答案