c++ - 5%10/2 是什么意思?
问题描述
5%10/2
我知道该%
符号显示余数,因此该操作应该给出2.5
,因为余数5%10
是5
。那么5/2
就是2.5
。但它给了我2
。
解决方案
在 C 和 C++ 中,整数和浮点除法之间存在差异。当您将 2 个整数值相除时,您会得到向下舍入的结果,因此您会得到 2.5 而不是 2。如果您想要 2.5,您应该将其中一个操作数转换为浮点数或只使用浮点数/双精度值:
std::cout << ((double) (5 % 10) / 2) << std::endl; // double cast
std::cout << (5 % 10 / 2.0) << std::endl; // double literal
推荐阅读
- flutter - Flutter在尝试创建ExpansionPanelList时无法在Widget上方找到正确的Provider<>
- events - 事件驱动架构:重新处理死信队列中的事件导致域模型状态不正确
- flutter - Flutter Firestore 捕获错误
- r - 在某些焦点组之前和之后使用来自组的值
- c# - 包未正确加载
- java - 从 Json 列表 java 中获取值
- swift - 如何获取存储在变量中的数组值并在表格视图中显示它们?
- c# - C# - 计算目录中的所有文件,包括 Zip 中的 Zip 等
- reactjs - 打字稿:具有枚举类型参数的函数分配给具有字符串参数类型的回调
- jquery - 日期范围选择器问题