並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 28 件 / 28件

新着順 人気順

浮動小数点数の検索結果1 - 28 件 / 28件

タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。

浮動小数点数に関するエントリは28件あります。 programmingプログラミング数学 などが関連タグです。 人気エントリには 『浮動小数点数オタクが AtCoder Beginner Contest 169 のC問題をガチで解説してみる - Qiita』などがあります。
  • 浮動小数点数オタクが AtCoder Beginner Contest 169 のC問題をガチで解説してみる - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

      浮動小数点数オタクが AtCoder Beginner Contest 169 のC問題をガチで解説してみる - Qiita
    • ArmにあるというJavaScript専用命令とは何か、あるいは浮動小数点数を整数に変換する方法について - Qiita

      元の値の絶対値が大きすぎる場合や、無限大、NaNの場合は、 6.3.1.4: 表現できない場合はundefined behavior。 Annex F.4: 表現できない場合はinvalid例外が発生して、値はunspecified。 とされています。 これ以外の浮動小数点数→整数型の変換方法には (l)lrint や (l)lround 関数などがあります。 Java 基本的に0方向への丸め(切り捨て)で計算されますが、コーナーケースについても言語仕様で定めています。 NaN:0を返す 結果が表現できないもしくは無限大の場合:符号に応じて最大値または最小値が返る。 参照: 5.1.3. Narrowing Primitive Conversion - Chapter 5. Conversions and Contexts JavaScript JavaScriptではビット演算やいくつか

        ArmにあるというJavaScript専用命令とは何か、あるいは浮動小数点数を整数に変換する方法について - Qiita
      • "「0.1+0.2≠0.3」だから浮動小数点数を扱うときには気を付けましょう" はいいんだけど結局どうしたらいいのかまでフォローしたほうが親切だと思ったので調べてみた - Qiita

        釣られた https://qiita.com/higashi_nc/items/9a5ea00415a008f06843 に釣られて読みました。 2行でまとめると以下のような内容です。 10進数の0.1や0.2は浮動小数点数で表すとピッタリ0.1や0.2にはならずに誤差が出る 浮動小数点数の扱いを理解して、より堅牢なプログラムを作成することを願っています。 え?結局どうしたらいいの?という感想だけ残ったので各言語での浮動小数点数同士の比較の方法を ChatGPT に教えてもらいました。 結局どうしたらいいのか 基本的に浮動小数点数同士の差がある程度の誤差より小さければ同じ数である、という判定をすればいいようです。 今回の回答には含まれませんでしたが、おそらく言語によっては浮動小数点数同士の比較をする専用のライブラリなどもあるかと思われます。 Python

          "「0.1+0.2≠0.3」だから浮動小数点数を扱うときには気を付けましょう" はいいんだけど結局どうしたらいいのかまでフォローしたほうが親切だと思ったので調べてみた - Qiita
        • 文字列から浮動小数点数に変換する、なるべく速く - toge's diary

          TL;DR 文字列から浮動小数点数に変換するならfastfloat使いましょう。 私が試せる環境で比較する限り、とても速いです。 細かいことが気になります C++でちょっとしたプログラムを書くときにいつも気になるのが 「文字列データから指定データ型への変換処理をどうやって効率的に書くか」 です。私だけかもしれませんが。 特に悩んでしまうのが「文字列→浮動小数点」です。 std::scanf, std::stringstreamを使うものは大抵すごく遅い std::strtodstd::stodはstd::stringへの変換が入るので避けたい std::from_charsは(libstdc++が)浮動小数点型に対応していない boost::sprit::qiが何故か速いのだけれどこのためにboost::sprit使うのは重い と色々制約が多いのです。どうにかならないものか。 fast_f

            文字列から浮動小数点数に変換する、なるべく速く - toge's diary
          • 浮動小数点数の二段階丸め誤差 - hydrakecat’s blog

            さいきん『浮動小数点数小話』という同人誌を読んでFMA (Fused Multiply-Add)の二段階丸め誤差(double rounding error)について色々と知る機会があったのでまとめておく。ついでにFMAに関するOpenJDKのバグっぽい挙動を見つけたのでそれも併せて記しておく。 FMA (Fused Multiply-Add)とは FMAは以下のような演算のことを呼ぶ。 この演算自体は行列の乗算やベクトルの内積の計算でよく現れるものであるが、通常の浮動小数点数の乗算と加算を別々に行うと誤差が出るので一度の演算で正確な値を算出したいときに用いる。たとえばC言語(C99)では fma、fmaf、fmalという3つの関数が導入されているらしい。 FMAの実装における二段階丸め誤差 FMAはターゲットとなるCPUのアーキテクチャがFMA命令をサポートしていればその命令を直接呼び出

              浮動小数点数の二段階丸め誤差 - hydrakecat’s blog
            • 浮動小数点数の足し算と掛け算は可換か - Qiita

              読むのが面倒な人向けの結論:可換です。 「可換です」以外の答えを知りたい人はこの記事を最後まで読んでください。 結合法則と交換法則 実数の足し算や掛け算については結合法則 $x+(y+z)=(x+y)+z$ が成り立ちます。これに対し、浮動小数点数の足し算・掛け算が結合的でないことはとても有名な話です。 例えば、倍精度で (0x1p-200 + 1) + (-1) を計算すると、結合法則が成り立てば答えは 0x1p-200 となるはずですが、実際には 0 が返ってきます。 浮動小数点演算が結合的でないことは有名な話なので、ここではこれ以上詳しくは取りあげません。 一方で、交換法則(可換性)はどうでしょうか?「浮動小数点演算はこういう法則を満たさない!クソ!」みたいな話題で槍玉に上がるのはほとんどの場合結合法則で、交換法則に言及するものはあまり見かけない気がします。 交換法則が成り立つとどう

                浮動小数点数の足し算と掛け算は可換か - Qiita
              • 浮動小数点数の文字列化(基数変換) | 雑記帳

                動機付けと問題 計算機の内部では二進浮動小数点数が使われることが多い一方で、プログラムのソースコードやテキストベースのデータ形式(例:JSON)では十進小数が使われることが多い。 データのシリアライズ等で、内部的な二進浮動小数点数を十進小数に変換して、再度二進小数に戻すという操作が考えられる。この時、元々の二進小数の値が保持されることが望ましい。 有限桁の二進小数は原理的には有限桁の十進小数で表現できるが、指数部が大きかったり小さかったりすると仮数部の桁数も膨張するため実用的ではない。 そこで、基数変換の際に丸めが発生することを許容して、二進小数→十進小数→二進小数の変換が恒等写像となるようにしたい。ただし丸めの方法は最近接丸めであるとする。この時、 途中の十進小数の仮数部は何桁あれば十分か?なるべく短い桁数の十進小数を、正しい丸めで得るためのアルゴリズムはどのようなものか? という問題が

                • 浮動小数点数オタクがAtCoder Beginner Contest 284のD問題をガチで解説してみる

                  こんにちは、浮動小数点数オタクのmod_poppoです。 昨日開催されたABC284のD問題でsqrtがどうのこうのという声がツイッターで観測されたので、ガチで考察してみます。 問題文(引用) まず最初に問題文を引用しておきます。 AtCoder Beginner Contest 284 | D - Happy New Year 2023 問題文 正整数Nが与えられます。Nは、2つの相異なる素数p, qを用いてN=p^2qと表せることがわかっています。 p, qを求めてください。 T個のテストケースが与えられるので、それぞれについて答えを求めてください。 制約 入力は全て整数 1\le T\le 10 1\le N\le 9\times 10^{18} Nは、2つの相異なる素数p, qを用いてN=p^2qと表せる 2023が7\times 17^2と素因数分解できることにちなんだ問題のよう

                    浮動小数点数オタクがAtCoder Beginner Contest 284のD問題をガチで解説してみる
                  • OpenSiv3D for Web | IEEE 754 単精度浮動小数点数

                    • 浮動小数点数の16進表記 - Qiita

                      という循環小数になり、有限桁で正確に表すことができません。 10進小数を正確に表したい場合は10進浮動小数点数(あるいは10進固定小数点数など、10進に基づいた小数型)を使うのが適切です。逆に、2進浮動小数点数を正確に表現したい場合はそれに適した記数法を使うのが適切です。 2進浮動小数点数に適した記数法として、1999年に制定されたC言語の規格(C99)では、16進法を使って浮動小数点数を記述する方法が導入されました。 16進の1桁は2進の4桁に対応し、2進法で有限小数で表せる数は16進でも有限小数で表せます。逆も然りです。16進表記は浮動小数点数の2進表記に比べて桁数を抑えつつ、「正確に表現できる」というメリットをそのまま持っています。 この記事では、 浮動小数点数の16進表記について 浮動小数点数を表す他の方法(10進表記など)の問題点と、16進表記が優れている理由 現代のプログラミン

                        浮動小数点数の16進表記 - Qiita
                      • 浮動小数点数の min / max - Qiita

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

                          浮動小数点数の min / max - Qiita
                        • 浮動小数点数オタクがM1 Macを触ってみた - Qiita

                          どうも、浮動小数点数オタクのmod_poppoです。 去年はMacのCPUがx86からArm (Apple Silicon)へ移行することが発表され、実際にApple M1搭載のハードウェアが発売されました。Apple Silicon MacにはRosetta 2というエミュレーターが搭載され、x86系のアプリケーションが(仮想化等の一部を除いて)そのまま動作します。 浮動小数点数オタクとして気になるのは、 Armv8で規定された浮動小数点数関連の命令セット拡張のうち、Apple M1がどれを実装しているのか Rosetta 2がx86_64とAArch64の浮動小数点数に関する違いをどのように吸収しているのか という点です。 Armv8のあれこれ long doubleについて long doubleは環境によって精度がまちまちなのは以前の記事に書いた通りです。 long doubleの

                            浮動小数点数オタクがM1 Macを触ってみた - Qiita
                          • 浮動小数点数の限界はどこにある? 32bitのデータで表現する数字の世界 | ログミーBusiness

                            Unityを学ぶための動画を集めたサイト「Unity Learning Materials」。ユニティ・テクノロジーズ・ジャパンの安原氏が、ゲーム制作に使う数学について解説しました。パート4のテーマ「浮動小数点数(float)」では、その表現力の限界を具体的に探りました。 パート4のテーマは「浮動小数点数(float)」安原祐二氏(以下、安原):パート4です。大丈夫ですか。寝ていませんか? パート4を始めていきたいと思います。浮動小数点数、floatです。 簡単な問題を出してみましょう。float aに「1f」を入れた時に、Debug.Logでそのaを出力させたらConsoleに何が出ますか? 急に聞かれると困るかもしれませんが、これは引っかけ問題ではなくて「1」が出ます。 次ですね、「1/3」。1割る3を書いたら何になるかな。これはちょっと引っかけ問題かもしれないですね。「0」になります

                              浮動小数点数の限界はどこにある? 32bitのデータで表現する数字の世界 | ログミーBusiness
                            • 4 ビット Float を自作したら、浮動小数点数の精度を理解できた - Qiita

                              はじめに 浮動小数点数、なんとなくはわかっているものの実は理解がちょっと曖昧、という方いませんか? 僕は恥ずかしながら長らくそんな状態でした。 特に誤差と精度についてはかなり曖昧で、 「どれくらいの数値であればどれくらいの精度があるのか」 という点は全く自信がありませんでした1。(業務上、特に困ったこともなかった) この記事は、試しに4ビットの浮動小数点数を作ってみることにより、浮動小数点数の精度を理解することを目指します。 想定の読者さんは、 「浮動小数点数に関してはざっくり分かっているけど、実は精度や誤差に関してはちゃんと理解していない」 という方々です。具体的に言えば、緯度経度を32ビット浮動小数点数で表すと誤差がどれくらいになるのかがあまりピンと来ない2、という方などです3。 浮動小数点数の概要 ここでは、ざっくり浮動小数点数の概要に関して復習程度に触れます。 概要は分かっていると

                                4 ビット Float を自作したら、浮動小数点数の精度を理解できた - Qiita
                              • 浮動小数点数の非正規化数の存在意義と特徴 - Qiita

                                先日、浮動小数点数の非正規化数と絡む機会があった。 で、非正規化数のことをよく知らなかったので調べた。 せっかく調べたのでメモを書いておく。 はじめに まあ、ふつうの環境の C / C++ の double 、ふつうの環境の ruby の Float 、いわゆる倍精度のことを念頭に。 以下、IEEE754 の 倍精度のみが唯一の浮動小数点数であるかのような感じで文章を書くけどもちろん本当はそうではないのでご注意を。 よく、C/C++ の DBL_MIN に double型の浮動小数点で表現できる正の値の最小値 などという説明が付与されているけど、これは間違っている。実際 #include <stdio.h> #include <float.h> int main(void) { printf( "DBL_MIN=%e DBL_MIN/10=%e DBL_MIN/1000=%e", DBL_

                                  浮動小数点数の非正規化数の存在意義と特徴 - Qiita
                                • IEEE 754の十進浮動小数点数の基本

                                  浮動小数点形式 IEEE 754で規定された浮動小数点形式は、基数b, 指数部の最大値\mathit{emax}, 精度pの3つのパラメーターで表されます。このうち基数bは2または10で、この記事で扱うのはb=10の場合です。 指数部の最小値\mathit{emin}は1-\mathit{emax}と定められています。 浮動小数点数として表現できる実数は、0\le M<b^pを満たす整数M(仮数部)および\mathit{emin}-p+1\le e\le\mathit{emax}-p+1を満たす整数e(指数部)および0\le s\le 1を満たす整数s(符号)について (-1)^s\times M\times b^{e} と表現できるものです。 Mを範囲b^{p-1}\le M<b^pに収まるようにしたときに指数部が範囲に収まるものを正規化数と呼びます。 例えばb=10, p=3となる形式

                                    IEEE 754の十進浮動小数点数の基本
                                  • 浮動小数点数演算器のつくりかた(その1) - よーる

                                    最近浮動小数点数演算器を作っているので、作るときのポイントを忘れないようにメモしておきたいと思います。 以下の全4回で書いていく予定です。 最近接丸めの浮動小数点数加算器の作り方(今回) 最近接丸めの浮動小数点数乗算器の作り方 RISC-Vの規格に従った(つまり、IEEE754規格にも従った)浮動小数点数積和演算器の作り方 RISC-Vの規格に従った浮動小数点数除算・平方根両対応演算器の作り方 コード 以下の74行のVerilog HDLコードで、x86の行う最近接丸めの浮動小数点数加算と同じ結果が得られるはずです。 メモ:これを書いたのは2022/10/06で、3cycleパイプライン化したものがRSDで採用されています。 module fp_adder(lhs, rhs, result); input wire[31:0] lhs; input wire[31:0] rhs; outp

                                      浮動小数点数演算器のつくりかた(その1) - よーる
                                    • IEEE浮動小数点数における平方根演算の精度に関する覚書 - よーる

                                      IEEE浮動小数点数における演算では、丸め誤差が不可避です。特に、複数回の演算を繰り返すと丸め誤差が積もっていき、正確な値と大きく離れた答えを得てしまうことがあります。しかし、次の演算については、(数学的に)正確な値を求めた後、一回だけの丸めが発生することが、IEEE標準で規定されています。 四則演算 積和演算 Fused multiply add (FMA) 平方根演算(正の平方根を求める*1) 浮動小数点数演算のできるCPUであれば、普通、四則演算や積和演算を行う命令を持っています。 しかし、平方根を正確に計算する命令を持たない命令セットも存在します。 そのような場合、平方根関数はライブラリ実装となるわけですが、どのように実装すれば要求を満たせるのでしょうか? C++のstd::sqrtは正確に計算しているのか? 結論 しています。 標準の丸めモード、つまり最近接丸め(ぴったり半分なら

                                        IEEE浮動小数点数における平方根演算の精度に関する覚書 - よーる
                                      • 浮動小数点数小話:だめぽラボ

                                        浮動小数点数の各種話題を取り扱っています。 筆者がこれまでにブログ、Qiita等に書いた内容の一部と、新規の書き下ろしを含みます。 第1章 浮動小数点数の基礎 第2章 十六進表記 第3章 FMA (fused multiply-add) の話 第4章 丸め方法とその指定 第5章 二段階丸めとその問題点 第6章 浮動小数点例外 サポートページ:https://lab.miz-ar.info/floating-point/

                                          浮動小数点数小話:だめぽラボ
                                        • 文字列少数点数表記を IEEE754 倍精度浮動小数点数にエンコードする方法|Sukesan1984

                                          42tokyoというパリ発のエンジニア養成機関で学んでいるのですが、表題の関数が課題で必要になったため、絶対に将来忘れる気がしてならないので自分への備忘録として書き記しておきたいと思います 恥ずかしながら、今まであまりちゃんと浮動小数点数について考えたことがなく、かなり初心者なので、間違っていることがあるかもしれないのですが、そのときはご指摘いただけると嬉しいです こちらの記事を多分に参考にさせていただいています 何度か読み直してみましたが、大変わかりにくくてすみません・・・ 自分でも読んでてよくわからなくなりそうになります 都度、参考実装へのリンクを貼っているのでもしか、興味ある方いればそちらを見てもらったほうが早いかもしれません ソースコードはこちら 動機まず、表題の処理が何故必要なのか?というと42の課題で、Raytracingに関する課題があり、その中でファイルから物体の位置やら色

                                            文字列少数点数表記を IEEE754 倍精度浮動小数点数にエンコードする方法|Sukesan1984
                                          • 浮動小数点数の加算の順序にハマった話

                                            fediverseにちょっと書いたけど、仕事でちょっとハマって数時間悩んだ話。 とあるコードを書いていて、どうもテストが安定しなくてflakyになる。つまり、通るときは通るがたまに失敗する。が、理由がよくわからない。 こういうとき、Goでよくあるのはmapのイテレーションの順序が意図的にランダム化されているというパターンだ。mapは(内部的にはハッシュテーブルが使われているので)イテレーションの順序は不定であるし、不定であるべきなので順序に依存するコードを書くべきではない。現実的にはたいていの言語ではこのへんは「実装依存である」ということになっていて、うっかりすると言語のランタイムバージョンが上がったり、キーが一個増えたり減ったりするだけで順序が狂い、突然テストが死ぬみたいな現象によくみまわれる。Goでは意図的にこの問題に対処するために、言語のバージョンが変わらなくても毎回イテレーションの

                                              浮動小数点数の加算の順序にハマった話
                                            • C言語において浮動小数点数の足し算は可換か:FMAがある場合

                                              以前こういう記事を書きました: 浮動小数点数の足し算と掛け算は可換か 要約すると「浮動小数点数の足し算と掛け算はNaNのビットパターンを考慮しない限り可換だよ」という内容です。 プリミティブな足し算としてはそうなのですが、C言語は a * b + t の形の式をFMA fma(a, b, t) に変換することを許容しています(この話は「浮動小数点演算の結果が環境依存なのはどんなときか」でちらっと触れました)。このような変換が存在しても足し算は「可換である」と言えるでしょうか? つまり、a * b + c * d という式は fma(a, b, c * d) にコンパイルされる可能性もあれば、fma(c, d, a * b) にコンパイルされる可能性もあるため、ソースコード上で左右を入れ替えると違う結果が出るのではないか?という話です。 実証コード この挙動を確認するコードを以下に用意します

                                                C言語において浮動小数点数の足し算は可換か:FMAがある場合
                                              • 【JavaScript】浮動小数点の演算誤差対処法 - Qiita

                                                Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                                                  【JavaScript】浮動小数点の演算誤差対処法 - Qiita
                                                • 浮動小数点数とは | 分かりやすく図解で解説

                                                  浮動小数点数とは、コンピュータにおける数値を表現する方法の一つで、主に小数点を含む数値を表現するときに利用されています。 浮動小数点数の形式 浮動小数点数は次のように「符号」「指数部」「仮数部」の形式で表現します。※32ビットの例 符号:正の数が0、負の数が1 指数部:2nのnの部分を2進数表記にした値を格納(負の数の場合は2の補数を使用) 仮数部:正規化した小数点以下の値を格納 浮動小数点数の「仮数部」には小数点以下の値が入り、指数部には2nのnを2進数にした値が入ります。 正規化とは 浮動小数点数の仮数部には正規化した値(小数点以下の値)が入ります。正規化とは、小数点の位置を調整し最上位桁を0以外の値にする作業のことです。 スポンサーリンク 次の図は正規化のイメージ例です。 「0.036×10-2」「0.00036×100」「0.0036×10-1」は同じ値です。この値を「0.36×1

                                                    浮動小数点数とは | 分かりやすく図解で解説
                                                  • [解決!Python]f文字列の置換フィールドをネストさせて、整数や浮動小数点数の書式化方法を動的に切り替えるには

                                                    # 浮動小数点数の精度を変更する n = 123.4567 result = f'{n:.5f}' print(result)  # 123.45670 precision = 5 result = f'{n:.{precision}f}' print(result)  # 123.45670 for precision in range(5): result = f'{n:.{precision}f}' print(result) # 出力結果: #123 #123.5 #123.46 #123.457 #123.4567 # 2進/10進/16進の切り替え n = 2050 for flg in ['b', 'd', 'x']: tmp = "_b" if flg == "b" else "#08x" if flg == "x" else "+08d" result = f'{n:{t

                                                      [解決!Python]f文字列の置換フィールドをネストさせて、整数や浮動小数点数の書式化方法を動的に切り替えるには
                                                    • 不必要に浮動小数点数を使うの怖い - えびちゃんの日記

                                                      競プロにおいて、「何かしらの整数を大小比較して、左辺が大きければどうのこうの」みたいなことをしたい局面はそれなりにあります。 特に、境界付近でも正確に評価できる必要がある状況も多いです。 そうした状況で浮動小数点数を使うのはできるだけ避けたいですという気持ちがあります。 導入 まず、浮動小数点数は誤差が出ます*1。 初心者のうちは「浮動小数点数では \(1\div 10\) を正確には計算できない」と聞いても、「たとえば assert_eq!(1.0 / 10.0, 0.1); とかはエラーにならないし、問題なく計算できているのでは?」みたいな誤解をすることもあります。 実際には、0.1 と書いた部分も計算前の時点で 0.1000000000000000055511151231257827021181583404541015625 のような値になっており、所望の状態にはなっていません。 1

                                                        不必要に浮動小数点数を使うの怖い - えびちゃんの日記
                                                      • 浮動小数点数の丸めの相対誤差を計算機イプシロンで評価する

                                                        実数を浮動小数点数に丸めるときに相対誤差がどのくらいになるかを考えます。実数を浮動小数点数に丸める関数をR\colon\mathbf{R}\rightarrow\mathbf{F}とした時に \left|\frac{R(x)-x}{x}\right| あるいは \left|\frac{R(x)-x}{R(x)}\right| を評価したいです。 ここでは浮動小数点数の基数はb、精度はp桁とし、指数部の範囲は無制限とします。 区間b^i\le \lvert x\rvert\le b^{i+1}での浮動小数点数の刻み幅はb^{i-p+1}となります。この刻み幅をulp (unit in last place) と呼びます。 丸め関数Rは次の性質を満たすべきです: 単調である:x\le yの時、R(x)\le R(y) 元の値との差は1ulp未満である:b^i\le \lvert x\rvert

                                                          浮動小数点数の丸めの相対誤差を計算機イプシロンで評価する
                                                        • 1. 浮動小数点数(IEEE754)

                                                          10 進数の実数を浮動小数点数(IEEE754)形式の 2 進数に変換 A を 10 進数の実数とする 「符号部」を求める。元の値が 0 以上なら 0、 マイナスの値なら 1 Aの絶対値 |A| を固定小数点数形式の2進数に変換する(小数以下の有効桁数は十分に大きく取る) 小数点を左右に移動して整数部を 0b1 の 1 桁のみにする(※ 先頭に0が入っている場合は取り除く)。小数点を移動した回数を E とする(右方向がマイナス、左方向がプラス) 「指数部」を求める。(3)で求めた E に $2^{(指数部の長さ-1)}-1$ (※下の補足参照)を足して 2 進数に変換する。表1で示した長さ(ビット数)になるように先頭を0で埋める 「仮数部」を求める。(3)で求めた 2 進数の先頭から "0b1." を取り除いた部分を M とする。もしMが表1で示した長さ(ビット数)よりも大きい場合は末尾を

                                                          1

                                                          新着記事