uc8088使用rt_thread系统,使用uint64定义变量时,变量计算结果有误 改为uint32恢复正常
你这个问题应该是printf的原因,%d只适用32位及以内的有符号整数,不支持64位数的输出
我验证一下最终结果
验证了,定义为uint64类型时,print使用%ld打印,也是显示10,但计算结果是对的。
那你需要看看你使用的printf函数的实现了
超过4个字节的数据,最好不要用可变参数做为参数传递。如果想进行格式化处理,最好封装一个参数个数固定的函数来实现