やっぱり、しょうもない事でもコードを書いて確認したくなるのであった。
本日は、std::floor が負の値をちゃんと負方向に切り捨ててるか?
#include <iostream>
#include <cmath>
int main() {
std::cout << static_cast<int>( 0.5 / 10 ) << std::endl;
std::cout << static_cast<int>( -0.5 / 10 ) << std::endl;
std::cout << static_cast<int>( std::floor( 0.5 / 10.0 ) ) << std::endl;
std::cout << static_cast<int>( std::floor( -0.5 / 10.0 ) ) << std::endl;
std::cout << static_cast<int>( std::floor( 0.5 / 10 ) ) << std::endl;
std::cout << static_cast<int>( std::floor( -0.5 / 10 ) ) << std::endl;
return 0;
}
/* // 実行結果は、VC8
0
0
0
-1
0
-1 // 微妙かも?
*/
0 件のコメント:
コメントを投稿