フィボナッチ数nを出力するための簡単なcプログラムがあり、ELFオブジェクトファイルにコンパイルしたいと思います。私のCコードに直接フィボナッチ数(n)の数を設定するのではなく、ARMプロセッサ用にシミュレートしているのでレジスタに設定したいと思います。どうすればいいですか?ここでレジスタを使用した入力設定
は、私は私のレジスタではなくコードでカウンターITERATIONSを設定したいコードスニペット
#include <stdio.h>
#include <stdlib.h>
#define ITERATIONS 3
static float fib(float i) {
return (i>1) ? fib(i-1) + fib(i-2) : i;
}
int main(int argc, char **argv) {
float i;
printf("starting...\n");
for(i=0; i<ITERATIONS; i++) {
printf("fib(%f) = %f\n", i, fib(i));
}
printf("finishing...\n");
return 0;
}
です。事前
何が登録されていますか?それはプログラムの何かに対応していますか? – wallyk
フィボナッチ配列は*正の整数シーケンス*です。この場合、 'float'はおそらく不適切な型です。それは、6桁以上の有効桁数を持つ値を正確に表しません。 'unsigned long'または' unsigned long long'はより良い選択肢であり、FPUのないARMによってより効率的に計算されます。 – Clifford
@ Clifford *大きい数字が必要な場合は、* double *を使用して、閉じた形式の解を使って計算することができます。 –