相关疑难解决方法(0)

C++:隐式类型转换

我对隐式类型转换感到有点困惑.鉴于以下计划

   float x = 4.23423451;
   double y = 4.23423451;

   float z = 101.9876;

   float res1 = x * z;
   float res2 = y * z;

   std::cout << "res1 & res2 " << res1 << "  & " << res2 << std::endl;
   std::cout << "equality " << (res1 == res2) << std::endl;
Run Code Online (Sandbox Code Playgroud)

输出是

   res1 & res2 431.839  & 431.839
   equality 1
Run Code Online (Sandbox Code Playgroud)

我的问题是"对于x,y和z(x = y)的任何值以及任何编译器,等式是否总是正确的?"

res2 = y*z;

变量"y"是否会被类型化为浮点数或变量"z"是否被类型转换为double?

c++

3
推荐指数
1
解决办法
2210
查看次数

标签 统计

c++ ×1