各浮動小数点型のストレージ サイズと範囲は、次の表に示されています。
これら 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 の方法
目次1. データベースの概要1.1 開発の歴史2. MySQL の紹介2.1. MySQLの概要2....
序文セキュリティ上の理由から、会社が Linux サーバーへのすべてのログインにセキュリティ制限を課...
1.公式サイトからダウンロードして解凍する参考: ダウンロード後、zip 圧縮ファイル (mysql...
CSS の 2D 変換を使用すると、移動、回転、拡大縮小、変形などの基本的な変換操作を 2 次元空間...
今日、問題が発生しました: MySQL の insert into、update、delete ステ...
docker パッケージング Python 環境の手順は次のとおりです。 1 pip listの下に...
ダウンロードダウンロードアドレス: https://dev.mysql.com/downloads/...
システム:セントOS7 RPM パッケージ: mysql-コミュニティクライアント-5.7.18-1...
ボックス モデルは、要素ボックスの幅と高さ、パディング、境界線、余白のサイズを指定します。境界線の内...
ここで nginx のリバース プロキシを試してみましょう。リバースプロキシ方式とは、インターネット...
ソフトウェアとハードウェア環境centos7.6.1810 64ビット cat /etc/red...
1. MYSQLインデックスインデックス: MySQL がデータを効率的に取得するのに役立つデータ構...
原因不明のMySqlサービス消失の解決策先ほど、MySQL-Front が突然 MySql を開けな...
色はウェブサイト訪問者に影響を与えますか?数年前までは、ウェブサイトはまだ贅沢品でしたが、今ではほと...
絶対 URL は、インターネット上の特定のファイルに必要なすべてのコンテンツを表すために使用されます...