各浮動小数点型のストレージ サイズと範囲は、次の表に示されています。
これら 3 つは MySQL の浮動小数点型ですが、それらの違いは何でしょうか? ?
ここで、単精度と倍精度とは何なのかと疑問に思う人もいるでしょう。 以下で簡単に見てみましょう! 1 バイトは 8 ビットを占めることはご存知ですよね? float 単精度浮動小数点型の長さは 4x8=32 ビットなので、float 単精度浮動小数点数はメモリ内で 4 バイトを占め、32 ビットのバイナリで記述されます。 そして、double 倍精度浮動小数点型の長さは ==8x8=64 ビット== なので、double 倍精度浮動小数点数はメモリ内で 8 バイトを占め、64 ビットのバイナリを使用して記述されます。計算により、64 ビットではより多くの仮数を取得できます。 仮数: == は小数点以下の桁数です == したがって、ここでの精度は主に ==仮数== 部分の桁数に依存するため、IEEE 2 進浮動小数点演算標準に従って計算して次のように結論付けることができます。
double と float の違い:
double と float の利点と欠点: float 単精度の利点: float 単精度は、一部のプロセッサでは double 倍精度よりも高速で、double 倍精度の半分のスペースしか占有しません。欠点: ただし、値が非常に大きいか非常に小さい場合は、不正確になります。 倍精度の利点: 浮動小数点数と比較すると、倍精度は精度が高く、仮数は 16 ビットにすることができますが、浮動小数点数の仮数精度は 7 ビットしかありません。 欠点: 倍精度はメモリを消費し、浮動小数点数の単精度の 2 倍になります。倍精度の計算速度は浮動小数点数よりもはるかに遅くなります。これは、倍精度の仮数が浮動小数点数の仮数よりも大きいため、計算コストが高くなるためです。 doubleとfloatの使用シーンの選び方! まず第一に、メモリを節約し計算を高速化するために単精度が利用できる場合は倍精度を使用しないでください。 ==double と float の概要:== float は小数点以下の桁数が少なく、double は小数点以下の桁数が多く、より正確です。 とても簡単です。状況に応じて選択するだけです。 double と float の後の長さ m と d は何を表していますか? double(m,d) と float(m,d) ここでの m と d は何を表していますか? 皆さんも混乱していますね!説明させてください。上記の整数 int(n) と同様に、これらの型にも、表示幅 m と小数点以下の桁数 d という追加のパラメータがあります。 ==要約:== MySQLステートメントでは、実際にテーブルフィールドを定義するときに、 小数点型 ==1. 小数点入門== ==2. 最大値==
==表は何を意味しますか? 例: == 小型ケース1 mysql> テーブル temp2 を削除します。 クエリは正常、影響を受けた行は 0 行 (0.15 秒) mysql> テーブル temp2(id float(10,2),id2 double(10,2),id3 小数点以下(10,2)) を作成します。 クエリは正常、影響を受けた行は 0 行 (0.18 秒) mysql> temp2 に値を挿入します(1234567.21, 1234567.21,1234567.21),(9876543.21, -> 9876543.12、9876543.12); クエリは正常、2 行が影響を受けました (0.06 秒) 記録: 2 重複: 0 警告: 0 mysql> temp2 から * を選択します。 +------------+------------+-------------+ | id | id2 | id3 | +------------+------------+-------------+ | 1234567.25 | 1234567.21 | 1234567.21 | | 9876543.00 | 9876543.12 | 9876543.12 | +------------+------------+-------------+ セットに2行(0.01秒) mysql> desc temp2; +-------+---------------+------+-----+--------+-------+ | フィールド | タイプ | Null | キー | デフォルト | 追加 | +-------+---------------+------+-----+--------+-------+ | id | float(10,2) | はい | | NULL | | | id2 | double(10,2) | はい | | NULL | | | id3 | 小数点(10,2) | はい | | NULL | | +-------+---------------+------+-----+--------+-------+ セット内の 3 行 (0.01 秒) 小型ケース2 mysql> テーブル temp2 を削除します。 クエリは正常、影響を受けた行は 0 行 (0.16 秒) mysql> テーブル temp2(id double、id2 double) を作成します。 クエリは正常、影響を受けた行は 0 行 (0.09 秒) mysql> temp2 に値 (1.235,1,235) を挿入します。 エラー 1136 (21S01): 列数が行 1 の値数と一致しません mysql> temp2 に値 (1.235,1.235) を挿入します。 クエリは正常、1 行が影響を受けました (0.03 秒) マイSQL> mysql> temp2 から * を選択します。 +-------+-------+ | id | id2 | +-------+-------+ | 1.235 | 1.235 | +-------+-------+ セット内の 1 行 (0.00 秒) mysql> temp2 に値 (3.3,4.4) を挿入します。 クエリは正常、1 行が影響を受けました (0.09 秒) mysql> temp2 から * を選択します。 +-------+-------+ | id | id2 | +-------+-------+ | 1.235 | 1.235 | | 3.3 | 4.4 | +-------+-------+ セット内の 2 行 (0.00 秒) mysql> temp2 から id-id2 を選択します。 +---------------------+ |id-id2| +---------------------+ | 0 | |-1.10000000000000005 | +---------------------+ セット内の 2 行 (0.00 秒) mysql> テーブル temp2 を変更し、ID を 10 進数 (10,5) に変更します。 クエリは正常、2 行が影響を受けました (0.28 秒) 記録: 2 重複: 0 警告: 0 mysql> テーブル temp2 を変更し、 id2 を 10 進数 (10,5) に変更します。 クエリは正常、2 行が影響を受けました (0.15 秒) 記録: 2 重複: 0 警告: 0 mysql> temp2 から * を選択します。 +---------+---------+ | id | id2 | +---------+---------+ | 1.23500 | 1.23500 | | 3.30000 | 4.40000 | +---------+---------+ セット内の 2 行 (0.00 秒) mysql> temp2 から id-id2 を選択します。 +----------+ |id-id2| +----------+ | 0.00000 | |-1.10000 | +----------+ セット内の 2 行 (0.00 秒) これで、MySQL の float、double、decimal の 3 つの浮動小数点型の違いと概要についての記事は終了です。MySQL の float、double、decimal に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: 配列をフラット化する 5 つの JavaScript の方法
インターネット上にはMySQL 5.7.17のインストールチュートリアルがほとんどなく不十分なので、...
目次1. 要件の説明2. アイデアの概要1. 延長を要求する2. アイデアの概要3. SQLコード1...
1. ダウンロード参考: 2. D:\MySQL\mysql-5.7.24 などの固定の場所に解凍し...
reduceメソッドは配列の反復メソッドです。 mapやfilterとは異なり、 reduceメソッ...
目次序文パブリッシュ・サブスクライバ・パターン結果電話要約する序文双方向データ バインディングとは、...
(I) mysql5.7のインストール: ❀詳細:無料のグリーンバージョン5.7のインストール方法は...
1. ボタンで使用される値は、「OK」、「削除」など、ボタンに表示されるテキストを指します。 2. ...
エラーを報告するApache\Nginx サービスは正常に起動しましたが、MySQL は起動に失敗し...
MySQL の文字セットエンコーディングが正しくないデータをインポートすると、エラーが表示されます。...
RGBカラーテーブル色英語名RGB 16色雪255 250 250 #FFFAFAゴーストホワイト2...
この記事では、例を使用して、MySQL トリガーの原理と使用方法を説明します。ご参考までに、詳細は以...
目次背景解決新しい質問高度な背景シャトル ボックスが大量のデータを処理すると、レンダリングされる D...
目次FormDataとは何ですか? vueとaxiosの協力による実践的な体験追加()セット()消去...
前回の記事ではMySql8.0.19のインストール手順を紹介しました。必要な方はクリックしてご覧くだ...
設定ファイルを server.xml と content.xml に書き込みます。サーバーを再起動す...