こんにちは this is dimension. > >double と float で宣言なした場合の精度の違いまでは > >確認していませんが、たぶん float の方が小数点の精度が高く > >処理速度は遅いのでしょうね。 > "double" とは倍精度の意味なので逆です。処理速度は CPU に依るでしょう。つ > いでに "long" って予約語もあり、これだと更に精度があがります。 > 例: > > long n; /* long int の略 */ > long double x; > > 更についでに "short"ってのもあります。あまり使われないと思いますが。 > > prinft のオプションは↓↓でも参照。 > > http://www.page.sannet.ne.jp/mtoga/lang/c/text/bih-c_t1.txt long double という変数属性は初めて見ますが、どこの何と言うコンパイラですか。 質問のPID制御対象は何でしょう。 モータなどのアクチュエータの場合は、制御周期が100mSオーダ以上と遅い場合も多く、 こうした応用では、CPU演算速度の処理速度は、固定小数点だろうが、浮動小数点だろうが、 問題なく処理速度が間に合います。 H8S2000 + HEWコンパイラでは、double宣言で浮動小数点が使えました。 どこのICEデバッカか忘れましたが、シンボリックデバッグでは、 doubleの浮動小数点をHEXで表示してしまい、小数点で表示できないので、 自作のユーティリティで浮動小数点形式HEX->小数点数変換プログラムを となりのノートPCにおいてデバッグしたりしてました。 どういう応用へPID制御をやろうとしてるんですか。 参考サイト: http://www.geocities.co.jp/Technopolis/5348/index.html (モータ制御が詳しい。制御理論は後閑さんのところのほうが丁寧で優しい解説) PS. どなたか、現代制御理論応用例の話を聞きたいのですが、よかったらRES願います。