使用STC32G144K246芯片乘法问题反馈 | 已解决
今天调试程序发现的问题, 直接发最简化截图吧这里的判断语句会进入else, 理论上不可能的, 输出的1024*1024的值为0, 不论是否使用AiCube中的数学库都是该结果, 没有REMOVEDUNUSED优化选项, 添加了NOOVERLAY优化选项;
下面是工程附件
变量不能在函数外赋值
全局变量不能声明时赋值
93681UL
1024UL
建议:
93681写成93681L;
1024*1024本身可能就溢出了,强制类型转换得挨着数字,而不是相乘后的结果,或把1024写成1024L; 感谢楼上两位大佬, 加UL已经解决问题{:4_201:}, 可是这个片子不是32位模式的吗? 为什么还要加UL呢? 那用这款片子的时候值多大的时候应该添加呢? xinxinsky 发表于 2025-12-30 10:46
感谢楼上两位大佬, 加UL已经解决问题, 可是这个片子不是32位模式的吗? 为什么还要加UL呢? 那用这款片子的时 ...
这个是和编译器默认类型绑定的,默认应是int。
建议常量都加上形成习惯~
ercircle 发表于 2025-12-30 11:17
这个是和编译器默认类型绑定的,默认应是int。
建议常量都加上形成习惯~
好的大佬, 谢谢提醒{:4_180:}
页:
[1]