我已经编写了一个简单的代码来测试一个数字,看看它是否是一个素数但是在输入大的素数来测试arduino程序的速度时它只需要一个数字长度9- /欠数字我测试了我的读取功能,它返回整个数字,但'BigNumber'不会解析它只是说它的0
代码:
<|S 1234567891
>|NUM=1234567891
如果我输入一个10位数的代码,代码会停止arduino,输出就是
<S 123456789
>|NUM=123456789
>|123456789 is not a prime number
>|because ist a factor of 3
如果我输入一个9位数字,它会按预期输出
<|S 1111111111
>|NUM=1111111111
>|1111111111 is not a prime number
>|because ist a factor of 11
我试过看看是否有人和我有同样的问题,但我无法在任何地方找到它。
我使用arduino-uno
编辑:在做了一些更多的测试后,它现在没有设置在测试'S 1111111111'(10位数)之后发生崩溃的数字,其输出是正常的:
<|S 11111111111
>|NUM=11111111111
>|0 cant be a prime number because it doesn't end in 1,3,7,9
但是如果我输入11位数字就会解析为0 ??
{{1}}
bty:我忘了提到'S number_here'S指定查找结果的方法我也有D = DataCrunch它检查所有数字而L = List女巫创建一个找到的Prime数字列表,如素数搜索,并且很好地解释了DataCrunch(D)在解析给定数字时遇到同样的问题。
EDIT2: 这证明BigNumber可以拥有如此之多的数字 https://docs.spring.io/spring-integration/reference/html/files.html#file-reading 在第一篇文章中。
答案 0 :(得分:0)
因此,经过一些扩展性研究后发现BigNumber不适合非常大的数字但是'BigNumber.h'lib的另一部分是bc_num。
bc_num x;
bc_str2num(&x, "9898989898", 10);
String c = "Controll=";
c+=bc_num2str(x);
Serial.println(c);
输出
Controll=9898989898
但正如你所看到的那样,这需要更多的编程才能得到实践,所以我现在就开始了,然后再开始。