fvalue最终将值2

来源:互联网 发布:php usleep 100毫秒 编辑:程序博客网 时间:2024/06/08 14:51

例如,在表达2 + 3.14159,+操作符需要操作数具有相同的数据类型。在这种情况下,左操作数是一个整数,与右操作数是一个双。由于双中较高的层次,int被转换为双。因此该表达式被评估为2±3.14159值为5.14159

一个好的问题是,“为什么是整数树的底部?对于char和“。char和短总是含蓄地晋升为整数(或无符号整数)在评价。这就是所谓的扩大

这个层次可以导致了一些有趣的问题。例如,您可能希望表达对5U - 10 - 5(5U意味着5为无符号整数)。但在这种情况下符号整数(10提高到一个无符号整数这个表达式的结果是无符号整数4294967291

许多混合转换按预期工作。例如,int值= 10×2.7的结果27。10是提升到一个浮动,12.7的值为27,和27被截断为整数编译器会抱怨

许多新的程序员尝试这样的事情:浮fvalue = 10 / 4;。然而,因为10和4都是整数,不提倡发生。整数除法是10 / 4的表现导致2的价值然后被隐式地转换为2fvalue

你使用的文字值的情况下如10或4)更换一个或两个整数的值与一个浮点字面量的值(10或4)将导致两个操作数被转换为浮点值将完成使用浮点运算

但是如果你使用变量?考虑到这种情况下

123int nValue1 = 10;int nValue2 = 4;float fValue = nValue1 / nValue2;

fvalue最终将值2。我们如何告诉编译器,我们想使用浮点除法代替整数除法?答案是铸铁

铸造

铸造是一个请求由程序员来做一个显式的类型转换。在标准C++编程,强制转换是通过()操作符,同类型的名称将在。例如


0 0
原创粉丝点击