AGC145Bの解説を読んでいて、意味を把握できず若干面食らってしまったのでメモ
- タイトルの通り、関数の名前で言うとfloorとceilingが対応
- 例まで含めて以下に記載されているので分かりやすい
- メモ
- 負数が絡まない場合は単純に小数部分を切り捨てることでもfloorと同等の結果となる
- ので、int型で除算をしてしまえばfloor関数的なものを使わずとも同様の結果が得られる
- 負数が絡むときには、切り上げ切り捨てのつもりで考えていると意図しない挙動になるので注意
- floorを「切り捨て」だと考えていると、floor(-2.4)が-2になるような気がするけど、本来は「-2.4以下の最大の整数」が返るため-3になる
- 使用言語・業務仕様によってさらに丸めの挙動に気を使わないといけなかったり・・・
- C#の銀行丸め?とか
- 負数が絡まない場合は単純に小数部分を切り捨てることでもfloorと同等の結果となる
上記のリンクと大差はないけど、参考までにKotlin Playgroundでceilとfloorを確認した結果は以下の通り