uc8088使用uint64变量计算有误的问题

uc8088使用rt_thread系统,使用uint64定义变量时,变量计算结果有误
改为uint32恢复正常

你这个问题应该是printf的原因,%d只适用32位及以内的有符号整数,不支持64位数的输出

:joy:我验证一下最终结果

验证了,定义为uint64类型时,print使用%ld打印,也是显示10,但计算结果是对的。

那你需要看看你使用的printf函数的实现了

超过4个字节的数据,最好不要用可变参数做为参数传递。如果想进行格式化处理,最好封装一个参数个数固定的函数来实现