0
私は100,000から10,000の間の数値をとり、それぞれの数値をキューに入れようとしています。Arduino Unoでlong intを使用する
私はこれを行うためにモジュラス関数を使用します。しかし、私は宇野の16ビット整数に関する問題に遭遇しています。これは上限が32,767です。私はlong int、unsigned int、およびunsigned long intを使用しようとしましたが、プログラムはまだ32,767の後にキューに0をプッシュします。私はchar/stringのアプローチを試すべきか、解決策がないのでしょうか?
void fill_que(unsigned int b) {
int price = b;
while(price > 0) {
queue.push(price%10);
Serial.print(price%10);
price/=10;
}
}
int main() {
unsigned int price1 = 36111;
fill_que(price1);
}
。 [mcve]を投稿してください。 – Johan
ポインタを使用して4バイトのメモリストレージにアクセスすることを検討しましたか?そうすれば、整数変数の代わりに自分自身を定義したメモリ領域を使用すると、問題を解決することができます。つまり、独自の "整数型"を作成することもできます。 – wBB
@wBB私がする? –