c++ - 找到循环系统中两个值之间差异的最佳方法?
问题描述
以时间为例:如果我们有开始时间和结束时间,那么找到它们之间小时数的最佳方法是什么?
如果我们采用 12 小时制,我们会得到以下结果
- 从 1 到 5 = 4
- 从 11 到 1 = 2
最有效的方法是什么?
解决方案
假设时钟为 12 小时制,从a
到的小时数b
可以计算为:
difference = ((b + 12) - a) % 12;
这也假设a
和b
都在范围内[1, 12]
。如果不是,您可以执行以下操作:
a %= 12;
b %= 12;
在进行差异计算之前。
推荐阅读
- android - 使用 Canvas 和 Bitmap 在特定坐标处绘制多个图像
- java - java.lang.IllegalArgumentException:API 密钥不能为空
- java - 如何在 RestAssured 的正文中发送带有表单数据的 POST,并设置具有特定内容类型的多部分
- javascript - 如何读取子组件中的当前 React.useRef?
- r - 如何可视化 R 中箱线图中的特定数据点?
- user-interface - 如何在搪瓷网格容器中设置固定宽度/高度
- azure-data-factory - Azure DataFactory 清理:删除所有对象
- google-colaboratory - 有没有办法在 google colab 中使用网络摄像头捕捉实时视频?
- elasticsearch - 关于联合查询的问题?
- php - 如何在php中将字符串转换为数组