定点数与浮点数

计算机中的定点数与浮点数

在计算机中,数据有两种表达方式:定点数和浮点数,注意,这仅仅是数的两种表达方式,而不是两种数

定点数:小数点固定在某个位置上的数据,就是一般的写法。 就好像 0.0000001 ,0.0001111;

浮点数:小数点位置可以浮动的数据。就像数学中的 1222.2*10^3也可以表示为1.2222*10^6;

定点数无须赘述,接下来说明一下浮点数:

浮点数数学表达方式:N=M*R^E

M(mantissa) 尾数

R 阶的基数,即底数,就像上面的10,通常是一个常数,在计算机中一般为2、8、16,注意在一台计算机里,所有数据中的R是确定且相同的

E(exponent) 阶码

计算机表达方式

Ms是尾数符号位,被设置到最高位上,为0或1,Ms与M组成一个定点小数

E是阶码,注意它也有符号位,所以用n+1(1为符号位)表示

例如:

单精度浮点数(32位),阶码8位,尾数24位

双精度浮点数(64位),阶码11位,尾数53位

--------------------------------------------------------

 

mysql中的定点数与浮点数

定点数:DECIMAL(P,D),同Numeric(P,D)

浮点数:FLOAT、DOUBLE

mysql中的浮点数无须赘述,接下来说一下定点数:

P:有效数字数的精度,范围为1〜65

D:小数点后的位数,范围是0~30。MySQL要求D小于或等于(<=)P

即可以存储D位小数的P位数

备注:浮点数其实也能用(P,D)的方式表达,但这是不被推荐的

原文地址:https://www.cnblogs.com/yanze/p/10112673.html