アカウント名:
パスワード:
https://you1news.com/archives/114062.html [you1news.com]https://you1news.com/archives/114138.html [you1news.com]
何ヶ月か前、図書館で小学校の算数教科書を何冊かめくったが、「ゼロ除算」について明記しているものはなかった。学習指導要領 [mext.go.jp]にも含まれてないらしい。乗数では扱っている(リンク先PDFの75ページ)が。
何年生のときか忘れたが、半世紀前の教科書にはゼロでは割りようのない旨書いてあり、不思議なような、不気味なような気がしたことを覚えている。中学数学で、除算のグラフの最初(ゼロ除算部分)がバッテンか何かで、当時の数学教師が、明確な値が無いとはっきり言っていたことも。高校数学で、数学教師が余興気味に、代数にゼロ除算が加わると、1=2のような等式が成立してしまう例を挙げていたことも。
コンピューターが普及した現在、このあたりを省略する方針には疑問。
数学的な正解という話と、まだ小学生の時点でどう教えるべきかという話もあるからねぇ。あとコンピューターは処理の都合上、数学とは違うし。
> コンピューターは処理の都合上、数学とは違うし
な、NaNだってーっ!
18÷0はNaNにはならないけどね(NaNになるのは0÷0だけ)
CPUの浮動小数点演算の0除算例外てなんか微妙だね。例外をトラップする場合はデスティネーションレジスタに書き込みをしないし(ソフト側にお任せと言うことか)、トラップしない場合は無限大にする(アーキテクチャによるのかな…)とかあるんだね。符号の扱いとかでアレげかも。
ちょっと気になってgccのソフトウェアでエミュする為の浮動小数点処理周りのソースコード見たんだけど(libgccのsoft-fp内とか。それよりIEEE754を読めって?)、0除算の場合結果は書き込まずに浮動小数点ステータスレジスタ代わりのメモリに0除算フラグをセットしてるだけだった。
ちなみにググったら未定義だった。
整数演算では例外、浮動小数点演算ではIEEE754に従い±Inf、っていう実装が多いんじゃないかな。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
吾輩はリファレンスである。名前はまだ無い -- perlの中の人
日本の小学校の算数(プログラム言語にあらず)では「18÷0=0」なのだそうな (スコア:0)
https://you1news.com/archives/114062.html [you1news.com]
https://you1news.com/archives/114138.html [you1news.com]
Re: (スコア:0)
何ヶ月か前、図書館で小学校の算数教科書を何冊かめくったが、「ゼロ除算」について明記しているものはなかった。
学習指導要領 [mext.go.jp]にも含まれてないらしい。
乗数では扱っている(リンク先PDFの75ページ)が。
何年生のときか忘れたが、半世紀前の教科書にはゼロでは割りようのない旨書いてあり、不思議なような、不気味なような気がしたことを覚えている。
中学数学で、除算のグラフの最初(ゼロ除算部分)がバッテンか何かで、当時の数学教師が、明確な値が無いとはっきり言っていたことも。
高校数学で、数学教師が余興気味に、代数にゼロ除算が加わると、1=2のような等式が成立してしまう例を挙げていたことも。
コンピューターが普及した現在、このあたりを省略する方針には疑問。
Re: (スコア:0)
数学的な正解という話と、まだ小学生の時点でどう教えるべきかという話もあるからねぇ。
あとコンピューターは処理の都合上、数学とは違うし。
Re: (スコア:0)
> コンピューターは処理の都合上、数学とは違うし
な、NaNだってーっ!
Re: (スコア:0)
18÷0はNaNにはならないけどね(NaNになるのは0÷0だけ)
Re: (スコア:0)
CPUの浮動小数点演算の0除算例外てなんか微妙だね。例外をトラップする場合はデスティネーションレジスタに書き込みをしないし(ソフト側にお任せと言うことか)、トラップしない場合は無限大にする(アーキテクチャによるのかな…)とかあるんだね。符号の扱いとかでアレげかも。
ちょっと気になってgccのソフトウェアでエミュする為の浮動小数点処理周りのソースコード見たんだけど(libgccのsoft-fp内とか。それよりIEEE754を読めって?)、0除算の場合結果は書き込まずに浮動小数点ステータスレジスタ代わりのメモリに0除算フラグをセットしてるだけだった。
ちなみにググったら未定義だった。
Re:日本の小学校の算数(プログラム言語にあらず)では「18÷0=0」なのだそうな (スコア:0)
整数演算では例外、浮動小数点演算ではIEEE754に従い±Inf、っていう実装が多いんじゃないかな。