タグ付けされた質問 「floating-point」

2
Cのvoid型がempty / bottom型と類似していないのはなぜですか?
ウィキペディアと私が見つけた他のソースはvoid、空のタイプではなくユニットタイプとしてリストCのタイプを見つけました。void空の/下の型の定義によりよく適合するように思えるので、この混乱を見つけます。 void私が知る限り、値は存在しません。 戻り値の型がvoidの関数は、関数が何も返さないため、何らかの副作用しか実行できないことを指定します。 タイプのポインターvoid*は、他のすべてのポインタータイプのサブタイプです。また、void*C との間の変換は暗黙的です。 最後の点voidに、空の型であることの引数としてのメリットがあるかどうかはわかりvoid*ませんvoid。 一方、voidそれ自体は他のすべてのタイプのサブタイプではありません。これは、タイプがボトムタイプであるための要件であると言えます。
28 type-theory  c  logic  modal-logic  coq  equality  coinduction  artificial-intelligence  computer-architecture  compilers  asymptotics  formal-languages  asymptotics  landau-notation  asymptotics  turing-machines  optimization  decision-problem  rice-theorem  algorithms  arithmetic  floating-point  automata  finite-automata  data-structures  search-trees  balanced-search-trees  complexity-theory  asymptotics  amortized-analysis  complexity-theory  graphs  np-complete  reductions  np-hard  algorithms  string-metrics  computability  artificial-intelligence  halting-problem  turing-machines  computation-models  graph-theory  terminology  complexity-theory  decision-problem  polynomial-time  algorithms  algorithm-analysis  optimization  runtime-analysis  loops  turing-machines  computation-models  recurrence-relation  master-theorem  complexity-theory  asymptotics  parallel-computing  landau-notation  terminology  optimization  decision-problem  complexity-theory  polynomial-time  counting  coding-theory  permutations  encoding-scheme  error-correcting-codes  machine-learning  natural-language-processing  algorithms  graphs  social-networks  network-analysis  relational-algebra  constraint-satisfaction  polymorphisms  algorithms  graphs  trees 

7
浮動小数点表現が負の数を示すために2の補数ではなく符号ビットを使用する理由
浮動小数点数の縮退したケースと見なすことができる固定小数点表現を検討してください。負の数に2の補数を使用することは完全に可能です。しかし、浮動小数点数に符号ビットが必要なのはなぜですか。仮数ビットが2の補数を使用してはいけませんか? また、指数ビットは、符号付きの大きさの表現(仮数ビットに類似)や2の補数表現の代わりにバイアスを使用するのはなぜですか? 更新:明確にしないとすみません。浮動小数点表現がどのように形作られるのかの理由を探していました。選択肢間に強力な実装のトレードオフがない場合、誰かが浮動小数点表現の歴史的な側面を説明できますか?

4
フロートの不正確さが原因の不平等
少なくともJavaでは、このコードを書くと: float a = 1000.0F; float b = 0.00004F; float c = a + b + b; float d = b + b + a; boolean e = c == d; の値はeeeなり。これは、数値を正確に表現する上でフロートが非常に制限されているという事実が原因であると考えています。しかし、なぜの位置を変えるだけでこの不平等が生じるのか理解できません。falsefalsefalseaaa 以下のように、3行目と4行目の両方で sを1 に減らしましたが、の値はなり。bbbeeetruetruetrue float a = 1000.0F; float b = 0.00004F; float c = a + b; float …

1
浮動小数点の丸め
IEEE-754の浮動小数点数<1(つまり、数値> = 0.0および<1.0を生成する乱数ジェネレーターで生成)に整数(浮動小数点形式)を掛けて、それ以上の数値を取得できますか丸めのためにその整数? すなわち double r = random() ; // generates a floating point number in [0, 1) double n = some_int ; if (n * r >= n) { print 'Rounding Happened' ; } これは、Rが存在し、RがIEEE-754で表現できる1未満の最大数である場合、N * R> = N(*および> =が適切なIEEE- 754人のオペレーター) これは、このドキュメントとpostgresql ランダム関数に基づいたこの質問から来ています

1
ナイーブベイズの実装
私は、ラプラシアン平滑化によるテキスト分類のための単純ベイズアルゴリズムを実装しています。私が抱えている問題は、多くの小さな分数を乗算しているため、確率がゼロに近づくことです。したがって、確率は最終的にゼロになります。これは、ドキュメントとトレーニングセット内にいくつかの単語があるためです。 このため、テキストを分類することができません。この問題を回避する方法はありますか?私の実装で何か問題がありますか?

9
精度を失わずに実数を表す
現在の浮動小数点(ANSI C float、double)では、実数の近似値を表すことができます。エラーなしで実数 を表す方法はありますか? ここに私が持っているアイデアがあります、それは完璧ではありません。 たとえば、1/3は0.33333333 ...(base 10)またはo.01010101 ...(base 2)ですが、0.1(base 3)でもあり ます。この「構造」を実装するのは良い考えです。 base, mantissa, exponent したがって、1/3は3 ^ -1になる可能性があります {[11] = base 3, [1.0] mantissa, [-1] exponent} 他のアイデアは?

1
浮動小数点モジュラスの正確さが重要なのはなぜですか?
ほとんどのSmalltalk方言は現在、単純な浮動小数点係数(fmod / remainder)を実装しています。 Squeak / Pharoを改善し、最終的には他のSmalltalkの標準(IEEE 754、ISO / IEC 10967)への準拠を改善するために、これを変更しました。 ただし、これらの変更の採用については、標準に準拠するだけでは同僚を納得させることができないため、この正確さがどのような状況で実際に重要であるかを説明すると、非常に役立ちます。今のところ、自分で良い例を見つけることはできません。 ここで誰かが、なぜ/いつ/どこで(どのアルゴリズムのIOW)そのような係数の正確さが重要になるか知っていますか?

5
指数化のためのFLOP(浮動小数点演算)の数
べき乗(べき乗)を実行するために必要な浮動小数点演算の数はいくつですか? 1 FLOP、演算の数は、2つの浮動小数点数の乗算を使用すると仮定するためのになり。しかし、これを行うためのより速い方法はありますか?が整数でない場合、どのように機能しますか?バツんバツんx^nn − 1ん−1n-1んんn

1
浮動小数点数を比較する方法の違い
2つの浮動小数点数が同一であるかどうかを判断する多くのアプローチがあるようです。ここに私が見つけたいくつかの例があります: fabs(x - y) < n * FLT_EPSILON * fabs(x) または fabs(x - y) < n * FLT_EPSILON * fabs(y) fabs(x - y) < n * FLT_EPSILON * fabs(x + y) fabs(x - y) < n * FLT_EPSILON * fabs(x + y) || fabs(x - y) < FLT_MIN) fabs(x - …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.