各浮動小数点型のストレージ サイズと範囲は、次の表に示されています。
これら 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. 自然なレイアウト<br />レイアウトは変更せずに自動的に左揃えになります。 2....
Baiduのインタビューで遭遇する質問は、次のレイアウト効果を達成する必要がある。 中央の紫色の列...
PHP Linux に XML 拡張機能をインストールする1. PHPインストールソースパッケージを...
目次1. Vueの概要Vue公式サイトMVVM アーキテクチャ パターンVue の紹介2. Vueを...
目次1. 百度百科事典1. MySQL 2. PostgreSQL 3. MySQL に対する Po...
目次docker システム df docker システム プルーンdocker systemc 情報...
境界線のスタイルborder-style プロパティは、表示する境界線の種類を指定します。 bord...
設計業務では、設計者がレビューに参加したり、リーダーの一部が設計案の詳細が足りないと言っているのをよ...
目次01-イベントバブリング1.1- イベントバブリングの概要1.2-イベントバブリングの利用(イベ...
MYSQL におけるグループ化とリンクは、データベースの操作やデータのやり取りで最もよく使用される ...
私は最近新しい会社に入社したのですが、データベース設計にいくつか小さな問題があることに気付きました。...
リレーショナル データベースでは、悲観的ロックと楽観的ロックがリソース同時実行シナリオのソリューショ...
この記事は、参考のためにMySQL 8.0.18のインストールと設定のグラフィックチュートリアルを記...
序文何年も前、私はサーバー側の初心者でしたが、業界の競争が激しくなるにつれて、フロントエンドの初心者...
目次1. Javascript とは何ですか? 2. DOMとは何か3. JSコードの実行方法4. ...