gpt4 book ai didi

c++ - Arduino Mega 上的奇怪计算

转载 作者:行者123 更新时间:2023-11-28 04:30:59 28 4
gpt4 key购买 nike

看看这个非常基本的 Arduino 程序:

long pos = 90 * 1023/360;
Serial.println(pos);

本应显示255,却显示73,不明白为什么。

此程序在 Arduino Mega 上运行。

最佳答案

由于等号右侧的所有内容都是 int 大小的,因此数学运算是在 int 大小的框中完成的。第一步是乘以 90 * 1023,结果溢出 int。您必须通过强制编译器将其中一个数字设为长整数来告诉编译器在右侧使用长整数:

long pos = 90L * 1023/360;

关于c++ - Arduino Mega 上的奇怪计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52914773/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com