アカウント名:
パスワード:
ゼロ除算の結果は未定義だから、例外投げて死のうが何らかのデフォルト値を返そうがコンピューターが爆発しようが任意コードが実行されようが鼻から悪魔が出ようが仕様上は何の問題もない。チェックが不要になるわけではないが。むしろ例外が投げられると期待してチェックをサボってはいけない(実際にx86に慣れたプログラマーがARMデバイスでよく踏む罠)。
組み込みで例外を起こそうとしてゼロ除算をしたら、例外起きず結果が0になって困ったことがあった。
いいなあ、除算命令あるんだ。
# 8bitPICとか、普通に乗除算命令とかないですよ。# Cで使うと関数を作ってくれます。
## この手のMCUを使うと、C言語の標準に強烈な不満を感じます。## 8bit演算しかもってないのにinteger promotionとかアホかと。## まあ、intを8bitにするって手はあるけどsizeof(short)>sizeof(int)って不都合起きそう。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
あと、僕は馬鹿なことをするのは嫌いですよ (わざとやるとき以外は)。-- Larry Wall
C言語なら (スコア:1)
ゼロ除算の結果は未定義だから、例外投げて死のうが何らかのデフォルト値を返そうがコンピューターが爆発しようが任意コードが実行されようが鼻から悪魔が出ようが仕様上は何の問題もない。チェックが不要になるわけではないが。むしろ例外が投げられると期待してチェックをサボってはいけない(実際にx86に慣れたプログラマーがARMデバイスでよく踏む罠)。
Re: (スコア:0)
組み込みで例外を起こそうとしてゼロ除算をしたら、例外起きず結果が0になって困ったことがあった。
組み込み de ゼロ除算 (スコア:0)
いいなあ、除算命令あるんだ。
# 8bitPICとか、普通に乗除算命令とかないですよ。
# Cで使うと関数を作ってくれます。
## この手のMCUを使うと、C言語の標準に強烈な不満を感じます。
## 8bit演算しかもってないのにinteger promotionとかアホかと。
## まあ、intを8bitにするって手はあるけどsizeof(short)>sizeof(int)って不都合起きそう。
Re:組み込み de ゼロ除算 (スコア:0)