139

Google全体で固定小数点数と浮動小数点数の定義が読みにくいため、固定小数点数と浮動小数点数を理解できません。しかし、私が読んだものはどれも、それらが実際に何であるかについて十分に簡単な説明を提供していません。例を挙げてわかりやすい定義を取得できますか?

4

6 に答える 6

180

固定小数点数には、整数部分 (小数点の左側の部分) 用に予約された特定のビット数 (または桁数) と、小数部分 (小数点の右側の部分) 用に予約された特定のビット数があります。点)。数値がどれほど大きくても小さくても、各部分に常に同じ数のビットが使用されます。たとえば、固定小数点形式が 10 進IIIII.FFFFF数の場合、表現できる最大の数値は で99999.99999あり、ゼロ以外の最小の数値は です00000.00001。このような数値を処理するすべてのコードには、小数点の位置に関する知識が組み込まれている必要があります。

浮動小数点数は、整数部分または小数部分用に特定のビット数を予約しません。代わりに、数値用に特定の数のビット (仮数または仮数と呼ばれる) と、その数値内のどこに小数位があるかを示す特定のビット数 (指数と呼ばれる) を予約します。したがって、指数用に予約された 2 桁で 10 桁を占める浮動小数点数は、 の最大値とゼロ以外の最小値を表す可能性があります。9.9999999e+500.0000001e-49

于 2011-09-23T06:06:40.047 に答える
41

固定小数点数とは、小数点以下の桁数が固定されていることを意味します。浮動小数点数では、小数点以下の桁数を変更できます。

たとえば、小数点以下 4 桁が必要な数値を格納する方法がある場合、それは固定小数点です。その制限がなければ、浮動小数点です。

多くの場合、固定小数点が使用される場合、プログラマーは実際に整数を使用し、一部の桁が小数点を超えていると仮定します。たとえば、2 桁の精度を維持したい場合、値 100 は実際には 1.00 を意味し、101 は 1.01 を意味し、12345 は 123.45 を意味します。

浮動小数点数は、同じ方法で非常に小さな数または非常に大きな数を表すことができるため、より汎用的ですが、小数点以下の場所に余分なストレージを持たなければならないという小さな欠点があります。

于 2011-09-23T06:04:43.043 に答える
7

私の理解では、固定小数点演算は整数を使用して行われます。ここで、小数部分は固定量のビットで格納されるか、数値に必要な小数精度の桁数を掛けます。

たとえば、数値12.34を格納する必要があり、小数点以下 2 桁の精度のみが必要な場合は、数値を で乗算し100て を取得します1234。この数値を計算するときは、このルール セットを使用します。この数に5620またはを追加すると、データ または になります。56.20685468.54

固定小数点数の小数部分を計算する場合は、モジュロ (%) オペランドを使用します。

12.34 (疑似コード):

v1 = 1234 / 100 // get the whole number
v2 = 1234 % 100 // get the decimal number (100ths of a whole).
print v1 + "." + v2 // "12.34"

浮動小数点数は、プログラミングではまったく別の話です。浮動小数点数の現在の標準では、数値のデータに 23 ビット、指数に 8 ビット、符号以外に 1 などを使用しています。詳細については、このウィキペディアのリンクを参照してください。

于 2017-02-21T20:13:15.177 に答える
3

The term ‘fixed point’ refers to the corresponding manner in which numbers are represented, with a fixed number of digits after, and sometimes before, the decimal point. With floating-point representation, the placement of the decimal point can ‘float’ relative to the significant digits of the number. For example, a fixed-point representation with a uniform decimal point placement convention can represent the numbers 123.45, 1234.56, 12345.67, etc, whereas a floating-point representation could in addition represent 1.234567, 123456.7, 0.00001234567, 1234567000000000, etc.

于 2014-06-18T20:04:52.797 に答える
-7

番号123.456789を取る

  • 整数として、この数は 123 になります
  • 固定小数点 (2) として、この数値は 123.46 になります (切り上げたと仮定します)
  • 浮動小数点として、この数値は 123.456789 になります。

浮動小数点を使用すると、ほとんどすべての数値を非常に正確に表すことができます。Fixed は精度が低くなりますが、コンピューターにとってはより単純です。

于 2011-09-23T06:04:07.700 に答える