mysql中的浮點數和定點數

2021-08-20 21:18:19 字數 1043 閱讀 7612

1、浮點數和定點數:

規定小數點位置固定不變,稱為定點數。

小數點的位置不固定,可以浮動,稱為浮點數。

在計算機中,通常是用定點數來表示整數和純小數,分別稱為定點整數和定點小數。對於既有整數部分、又有小數部分的數,一般用浮點數表示。

浮點數如果不寫經度和標度,會按照實際精度值儲存,如果有精度和標度,則會自動將四捨五入後的結果插入,系統不會報錯;定點數如果不寫精度和標度,則按照預設值decimal(10,0) 來操作,如果資料超過了精度和標度值,系統會報錯。

2、在 mysql 中 float、double(或 real)是浮點數,decimal(或 numberic)是定點數。

float(m,s) m為全長,s為小數點後長度。

浮點數相對於定點數的優點是在長度一定的情況下,浮點數能夠表示更大的資料範圍;它的缺點是會引起精度問題。

mysql> create table test(c1 float(10,2),c2 decimal(10,2));

query ok, 0 rows affected (0.03 sec)

mysql> insert into test values(131072.32,131072.32);

query ok, 1 row affected (0.01 sec)

mysql> select * from test;

+-----------+-----------+

| c1 | c2 |

+-----------+-----------+

| 131072.31 | 131072.32 |

+-----------+-----------+

1 row in set (0.00 sec)

在今後關於浮點數和定點數的應用中需要注意以下幾點:

1、浮點數存在誤差問題;

2、對貨幣等對精度敏感的資料,應該用定點數表示或儲存;

3、程式設計中,如果用到浮點數,要特別注意誤差問題,並盡量避免做浮點數比較;

4、要注意浮點數中一些特殊值的處理。

定點數和浮點數 定點數和浮點數計算

這個東西其實不是很難,但是確實足夠繞的,因為從十進位制的加減乘除轉換到二進位制的加減乘除就已經很麻煩了,然後為了選拔人才,不給你二進位制,直接給你十六進製制,當然最麻煩的還是補碼和移碼,確實足夠 但是給予足夠的練習還是可以比較熟練的,公式稍後會整理到置頂的公式大全中。可以看完了以後去嘗試一下相關計算...

浮點數 定點數

浮點數是表示小數的一種方法.所謂浮點就是小數點的位置不固定,與此相反有定點數,即小數點的位置固定.整數可以看做是一種特殊的定點數,即小數點在末尾.8086 8088中沒有浮點數處理指令,不過從486起,cpu內建了浮點數處理器,可以執行浮點運算.一般的浮點數有點象科學計數法,包括符號位 指數部分和尾...

定點數和浮點數

小數字固定不變的數叫做定點數 定點數有三種型別 定義 無符號定點整數沒有符號位,所以它的全部數字都用來表示數字,且它的小數點隱含在最低位後,在數碼序列中並不存在。對於某種數的表示方式,我們關心兩點 序列 xnxn 1.x1x0表示無符號定點整數,則有n 1位正整數 典型值真值 序列 最大正整數 2n...