[解決済み] 微分積分(%)はなぜ整数のみで動作するのですか?
2023-06-01 16:45:37
疑問点
私は最近 問題 に遭遇しました。これはモジュラス除算を使えば簡単に解決できるのですが、入力がfloatでした。
周期的な関数が与えられた場合(例えば
sin
) と、それを周期範囲内 (例えば [-π, π]) でしか計算できないコンピュータ関数がある場合、任意の入力を扱える関数を作成せよ。
"learn"のような解法がある。
#include <cmath>
float sin(float x){
return limited_sin((x + M_PI) % (2 *M_PI) - M_PI);
}
なぜこれが動作しないのでしょうか?このエラーが出ます。
error: invalid operands of types double and double to binary operator %
興味深いことに、これはPythonで動作します。
def sin(x):
return limited_sin((x + math.pi) % (2 * math.pi) - math.pi)
どのように解決するのですか?
通常の数学的な余りの概念は、整数の割り算にしか適用できないからです。
余りの概念を実数に拡張するには、新しい種類のハイブリッド演算を導入しなければなりません。
整数
の商を生成する新しい種類の
実
オペランドに対する商 コアC言語ではこのような演算はサポートされていませんが、標準ライブラリとして提供されている
fmod
関数と同様に
remainder
という関数があります。(これらの関数は同じものではなく,いくつかの特殊性があることに注意してください.特に、整数の割り算の丸めルールには従いません)。
関連
-
[解決済み】ENOENTが「そのようなファイルやディレクトリはありません」という意味であるのはなぜですか?
-
[解決済み】デバッグアサーションに失敗しました。C++のベクトル添え字が範囲外
-
[解決済み】c++で.txtファイルから2次元の配列に読み込む
-
[解決済み] なぜテンプレートはヘッダーファイルでしか実装できないのですか?
-
[解決済み] 配列の場合、なぜ a[5] == 5[a] になるのでしょうか?
-
[解決済み] 0.1fを0にすると、なぜ10倍もパフォーマンスが落ちるのですか?
-
[解決済み] Cプリプロセッサはなぜ "linux "という単語を定数 "1 "と解釈するのですか?
-
[解決済み] Collatz予想の検証を行うC++のコードは、なぜ手書きのアセンブリよりも高速に動作するのでしょうか?
-
[解決済み] なぜsizeof(x++)はxをインクリメントしないのですか?
-
[解決済み】倍数でモジュールが使えない?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C++ クラスヘッダが含まれているときに「不明な型」があるのはなぜですか?重複
-
[解決済み】C++ 非推奨の文字列定数から「char*」への変換について
-
[解決済み】LLVMで暗黙のうちに削除されたコピーコンストラクタの呼び出し
-
[解決済み】cc1plus:エラー:g++で認識されないコマンドラインオプション"-std=c++11"
-
[解決済み】fpermissiveフラグは何をするのですか?
-
[解決済み] 式はクラス型を持つ必要があります。
-
[解決済み】1つ以上の多重定義されたシンボルが見つかる
-
[解決済み] 解決済み] `pthread_create' への未定義の参照 [重複] [重複
-
[解決済み] to_string は std のメンバーではない、と g++ が言っている (mingw)
-
[解決済み】VC++の致命的なエラーLNK1168:書き込みのためにfilename.exeを開くことができません。