浮点型:内存中占四个字节(4Byte=32bit)
1浮点型常量
<!--[if !supportLists]-->u <!--[endif]-->浮点型常量有非指数型和指数型两种。
<!--[if !supportLists]-->n <!--[endif]-->非指数型:是指不带指数部分的实型常量,例如:+123、123、-123、+123.4。
<!--[if !supportLists]-->n <!--[endif]-->指数型:是指有指数部分的实数,如:12345e2、12345.0e-3,他们的值都是12.345。
<!--[if !supportLists]-->n <!--[endif]-->e(E)之前必须有数字,之后的指数必须为整数,且不能有空格!
<!--[if !supportLists]-->n <!--[endif]-->1的表示方式:1e0或0.1e1.
2浮点型变量
<!--[if !supportLists]-->u <!--[endif]-->浮点型变量是通过保留字float来说明的。
如:float x,y,z;
x=12.345;y=12345e2;z=12345.e-3;
<!--[if !supportLists]-->u <!--[endif]-->浮点型数据的存储表示:二进制的浮点形式。
如:(0.5)10=(0.1)2=(.1x20)=(1x2-1)
(12.1875)10=(1100.0011)2=(.11000011x24)=(11000011x2x2-4)
<!--[if !supportLists]-->u <!--[endif]-->而任何一个二进制实数总可以表示成:N=S x 2P,其中P、S都是有符号二进制整数。P称为阶码,S称为尾数,S中无小数点或小数点约定为在最前头
假设:
P的字长为n1,S的字长为n2,则有-2n1-1≤P≤2n1-1-1,-2n2-1≤S≤2n2-1-1,
则一个实属的字长为n1+n2.
例如:
设n2=24,n1=8,字长为32bit。
则有:-128≤P≤127,-8388608≤S≤8388607,
即N=S x 2P的取值范围是:2-128≤|N|≤2127,约为10-39≤|N|≤1038;
而N的精度大约有7为有效数字。
责任编辑:小草