タグ

ブックマーク / qiita.com/mod_poppo (3)

  • 浮動小数点数の min / max - Qiita

    多くのプログラミング言語には、「2つ以上の数値が与えられた時、その最小値あるいは最大値」を返す関数 (min / max) が用意されている。入力が整数や有理数であれば難しい話はないのだが、対象が浮動小数点数の場合は厄介な問題が起こる。具体的には、「NaN の扱い」と「0 の符号の扱い」だ。 浮動小数点数の NaN は、皆さんご存知の通り、順序付けられない。NaN が絡む場合の min / max 演算については、「入力に NaN が含まれていたら結果も NaN とする」「NaN を入力の欠落として扱い、NaN でない入力があればそれを返す」などの立場が考えられる。 もっと細かいことを言うと、NaN を返す場合に入力で与えられた NaN を返すか、正規化された NaN を返すかという違いもありうるし、signaling NaN の扱いも議論の余地があるかもしれないが、この記事では細かいこと

    浮動小数点数の min / max - Qiita
    rydot
    rydot 2024/06/07
  • 浮動小数点数オタクが AtCoder Beginner Contest 169 のC問題をガチで解説してみる - Qiita

    どうも、浮動小数点数オタクのmod_poppoです。 昨日開催された ABC169 の C 問題が浮動小数点数の罠な問題だったらしいので、どこが罠なのか、そしてどうすれば罠を回避できるのかを解説してみます。 また、典型的な誤答に対しては、それを落とすためのテストケースも用意しました。 問題文(引用) まず最初に問題文を引用しておきます。 AtCoder Beginner Contest 169 | C - Multiplication 3 問題文 $A\times B$ の小数点以下を切り捨て、結果を整数として出力してください。 制約 $0\le A\le 10^{15}$ $0\le B<10$ $A$ は整数 $B$ は小数第 2 位まで与えられる 入力 入力は以下の形式で標準入力から与えられる。

    浮動小数点数オタクが AtCoder Beginner Contest 169 のC問題をガチで解説してみる - Qiita
    rydot
    rydot 2020/06/10
  • 「型」のお気持ち 〜 「型なし」と「動的型」って同じ?違う? - Qiita

    はじめに 「『型なし』と『動的型』って同じ?違う?」「ピピーッ!JavaScriptRubyを『型なし言語』と呼ぶのは間違いです!」 ツイッターを見ていると、このように「型」という言葉の用法に混乱がみられるので、私見で整理してみたいと思います。 まず、「型」という言葉の用法には、大きく分けて2つあります: 変数や関数についての静的にわかる性質 静的型言語では「型」と言ったら主にこちらを指します。 値の種類を区別するための実行時のタグ付け(型タグ) 「動的型言語」と言った場合の「型」はこちらです。 静的型言語でも「実行時型情報」という名前で、値にタグがついている場合があります。 前者の立場では、「動的型言語」は「型がない」ように見えて、後者の立場では、「動的型言語」にも「型がある」ように見えます。 「静的型 vs 動的型」(あるいは「型あり vs 型なし」)の議論をする際は、「型」という言

    「型」のお気持ち 〜 「型なし」と「動的型」って同じ?違う? - Qiita
  • 1