タグ

浮動小数点数に関するkoma_gのブックマーク (9)

  • 浮動小数点数内部表現シミュレーター - instant tools

    コメント IPAの情報処理試験の勉強用としてと、JavaScriptで小数の計算の誤差が なぜ発生するのかきちんと理解したかったので作成しました。 おかげで「0.1 + 0.2」がなぜ0.3にならないのかが、ビット単位で把握できました。 丸め方式の1つに、丸める前の実数と距離的に最も近い数に丸める、 RN (Round toNearest)方式があります。 m進数で「m/2-1捨m/2入」、10進数だと四捨五入、2進数だと0捨1入になります。 誤差をできるだけ小さくする方法として利用されます。 ただしIEEE754のRN方式は偶数丸めと呼ばれる、2つの桁を使って判断する方法を採用しています。 「00」→「00」、「01」→「00」、「10」→「10」、「11」→「100」。 0.1と0.2は1桁異なる値であり、かつ どちらも仮数部の最下位ビットが繰り上がった値になります。 その結果0.1と

  • 0.1は浮動小数点数で正確に表せないのに、printしたときに0.1と表示されるのはなぜか - Qiita

    当たり前のことに感じますが、0.1は浮動小数点数(IEEE 754)では正確に表現できません。 なのにprintをしたときに0.1と表示されるのは不思議です。 このことについて分かったことを書いておきます。 環境 この記事ではPython 3.7を使用しています。 【前提】浮動小数点数 この記事で、以降"浮動小数点数"という場合は、"IEEE 754 倍精度"のことを指します。 浮動小数点数のフォーマットは、数を以下の形式に変換し、sign、exp、fracを順に並べたものです。

    0.1は浮動小数点数で正確に表せないのに、printしたときに0.1と表示されるのはなぜか - Qiita
  • ÉâÆ°¾®¿ôÅÀ±é»»¤Ë¤Ä¤¤¤Æ

    ÉÕÏ¿ D ÉâÆ°¾®¿ôÅÀ±é»»¤Ë¤Ä¤¤¤Æ Ãí - ¤³¤ÎÉÕÏ¿¤Ï¡¢1991 ǯ 3 ·îȯ¹Ô¤Î "Computing Surveys" ¤Ë·ÇºÜ¤µ¤ì¤¿ "Every Computer Scientist Should Know About Floating-Point Arithmetic" ¹Æ (David GoldbergÃø) ¤òºÆÊÔ½¸¤·¡¢Ãøºî¸¢¤òÍ­¤¹¤ë Association for Computing Machinery ¼Ò (Copyright 1991) ¤Îµö²Ä¤Î¤â¤È¤Ë¡¢°õºþ¤·¤Ê¤ª¤·¤¿¤â¤Î¤Ç¤¹¡£ ³µÍ× ÉâÆ°¾®¿ôÅÀ±é»»¤Ï¡¢³µ¤·¤ÆÆñ²ò¤ÊÌäÂê¤È¤·¤Æ¼õ¤±¼è¤é¤ì¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£¥³¥ó¥Ô¥å¡¼¥

  • なぜWii版マリオ64で長時間放置すると足場が浮かび上がるのか(非技術者向け解説)

    ゲームのバグって面白いですよね。進行不可能バグはもちろん論外ですが、ちょっとした不思議なバグはなかなかに楽しめます。 さて、今回話題になったのはWii版(バーチャルコンソール)のマリオ64で、「長時間たつと足場がどんどん浮き上がる」というものです。オリジナル版では起こらず、バーチャルコンソール版だけで起こるというのがミソです。 この摩訶不思議なバグがいったいどうやって起きているのか、確かめていきましょう。 話題のバグ:時間が経つと足場が浮かぶ Automatonなどで記事になった「『スーパーマリオ64』を研究するプレイヤーたちは、Aボタンを押さずステージクリアするために3日間待ち続ける」がゲーマーの間で話題になっています。 このバグは、炎の海から顔を出したり沈んだりするだけの足場が、時間が経つにつれほんの少しずつ炎の海から浮遊するというものです。ゲームを起動したまま3日間放置すると、足場が

    なぜWii版マリオ64で長時間放置すると足場が浮かび上がるのか(非技術者向け解説)
  • MySQLのFLOAT型を使う理由が見つからない件 - hnwの日記

    MySQLのデータ型としてFLOAT型という型があるのですが、これを採用するのは混乱の元ではないか?と感じたので、その詳細を紹介します。 そもそもこの話のきっかけは「MySQLで6桁までの小数点を丸めずに扱うならFLOAT型を使うべき理由」という記事が目に止まったことです。それなりに人気を集めている記事のようですが、私の読んだ限りではFLOAT型を使うだけの根拠が文中から読み取れず、さらに類似する一次情報や英語記事が全く見つからなかったので、真偽が怪しい情報だと感じました。 その後、MySQL上で実験したりCソースコードを読んでみたりした結果、私の得た結論は真逆のものになりました。MySQL警察の方や浮動小数点数警察の方、追試や反論など頂けると助かります。 MySQLのFLOAT型とは MySQLのFLOAT型は原則としてIEEE754浮動小数点数単精度型(32bit)で実現されます*1。

    MySQLのFLOAT型を使う理由が見つからない件 - hnwの日記
  • Island Life - 誤差が生じるとき

    About 南の島のプログラマ。 たまに役者。 Practical Schemeの主。 WiLiKi:Shiro 最近のエントリ 無限cxr高校受験Defense振り返ってみると2019年は色々学んで楽...覚えるより忘れる方が難しい(こともある)眼鏡のつると3DプリンタIris Klein Acting ClassSAG-AFTRA conservatory: Voice Acting創作活動って自分を晒け出さねばならないと...ループを使わずに1から100までMore... 最近のコメント shiro on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/14)1357 on 歳を取ると時間が速く過ぎるのは、新しいことに挑戦しないから? (2023/03/01)ベアトリーチェ on ハイポハイポハイポのシューリンガン (2022/04/02)ベアトリーチ

    Island Life - 誤差が生じるとき
  • https://www.cqpub.co.jp/interface/sample/200903/if03_101.pdf

  • 18.3.3 浮動小数点表現の精度・範囲と特別な値 | HWB

    浮動小数点表現で表せる数の精度や,特別な値の表現を調べましょう. 浮動小数点の精度 既に前節 18.3.2 浮動小数点表現 で見たように,浮動小数点表現では,ほとんどの 10 進小数を近似的にしか表すことができません.その数値の精度は仮数部の桁数で決まります.また,指数部の桁数は表現可能な数値の範囲に影響します.IEEE 754 の単精度浮動小数点数を例に,精度と桁数を調べてみましょう. まず前節で説明した,(通常の)浮動小数点表現の定義を思い出しておきます. 数値 = (−1)符号部×(1.仮数部)×2指数部−bias 単精度では仮数は 23 ビット使うので,仮数部の取る値は次のいずれかになります.

  • 日経PC21 / エクセル - 勝手に設定される「ハイパーリンク」を解除したい!

    最新号日経PC21 2024年11月号 発売日:2024年9月24日 特別定価:950円(紙版、税込み) 【特集】 ヘタリを防ぐ! 駆動時間を延ばす! 2倍に延ばせ!バッテリー寿命 【特集】 複雑怪奇なアプリの謎を解明! インストール&削除の落とし穴 【特集】 驚きのネットサービスが続々 最新AIがすごすぎる 【特集】 高コスパ製品からあこがれの高級品まで イチ推し 気になる デジタル機器 ≫サンプルファイルのダウンロード

  • 1