STM32 ------ 处理 int64 类型数据需要注意

 

uint64_t destime, oritime, rectime, tratime;
int64_t result;

result = ((rectime-oritime) + (tratime-destime))/2;

 

 

当((rectime-oritime) + (tratime-destime))是负数的时候,result不能得到正确的数,需要写成如下:

uint64_t destime, oritime, rectime, tratime;
int64_t result, tmp;

tmp = ((rectime-oritime) + (tratime-destime));
result = tmp/2;

 

posted @   流水灯  阅读(2481)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示