, 导致存入的数据会出现误差,例: 0.1存入double就表示为0.1000000099999999, 因此不使用double类型的构造函数
思考:
当然对于精确要求不高的地方, 完全可以使用float...因此这也就解释了为什么byte到char的过程存在负号变正号....思考之后, 将可能得出这样的结论: 出现这样问题的原因是操作数的类型自动提升, char=>int.
但是又有一个问题就是为什么第一个运算不是88....此时C的类型就自动上升为式子中最高的类型, 例: false ? x : i, 输出是0, 而不是0对应的字符.
上面的规则决定了, 将调用哪一个print的重载函数....思考:
上面的问题说明了, 在条件表达式中, 最后再后两个操作数使用相同类型的操作数, 以此避免返回值类型不确定的问题, 并且在其他的表达式计算中, 一定要理清楚数值之间的类型转换.
8.发现隐藏的类型转换