69,373
社区成员
发帖
与我相关
我的任务
分享
...
#define DBL_DIG 15 /* # of decimal digits of precision */
#define DBL_EPSILON 2.2204460492503131e-016 /* smallest such that 1.0+DBL_EPSILON != 1.0 */
#define DBL_MANT_DIG 53 /* # of bits in mantissa */
#define DBL_MAX 1.7976931348623158e+308 /* max value */
#define DBL_MAX_10_EXP 308 /* max decimal exponent */
#define DBL_MAX_EXP 1024 /* max binary exponent */
#define DBL_MIN 2.2250738585072014e-308 /* min positive value */
#define DBL_MIN_10_EXP (-307) /* min decimal exponent */
#define DBL_MIN_EXP (-1021) /* min binary exponent */
#define _DBL_RADIX 2 /* exponent radix */
#define _DBL_ROUNDS 1 /* addition rounding: near */
#define FLT_DIG 6 /* # of decimal digits of precision */
#define FLT_EPSILON 1.192092896e-07F /* smallest such that 1.0+FLT_EPSILON != 1.0 */
#define FLT_GUARD 0
#define FLT_MANT_DIG 24 /* # of bits in mantissa */
#define FLT_MAX 3.402823466e+38F /* max value */
#define FLT_MAX_10_EXP 38 /* max decimal exponent */
#define FLT_MAX_EXP 128 /* max binary exponent */
#define FLT_MIN 1.175494351e-38F /* min positive value */
#define FLT_MIN_10_EXP (-37) /* min decimal exponent */
#define FLT_MIN_EXP (-125) /* min binary exponent */
#define FLT_NORMALIZE 0
#define FLT_RADIX 2 /* exponent radix */
#define FLT_ROUNDS 1 /* addition rounding: near */
...
f= 2
f= 1
f= 0.5
f= 0.25
f= 0.125
f= 0.0625
f= 0.03125
f= 0.015625
f= 0.0078125
f= 0.00390625
f= 0.00195313
f= 0.000976563
f= 0.000488281
f= 0.000244141
f= 0.00012207
f= 6.10352e-005
f= 3.05176e-005
f= 1.52588e-005
f= 7.62939e-006
f= 3.8147e-006
f= 1.90735e-006
f= 9.53674e-007
f= 4.76837e-007
f= 2.38419e-007
f= 1.19209e-007
f= 5.96046e-008
f= 2.98023e-008
f= 1.49012e-008
f= 7.45058e-009
f= 3.72529e-009
f= 1.86265e-009
f= 9.31323e-010
f= 4.65661e-010
f= 2.32831e-010
f= 1.16415e-010
f= 5.82077e-011
f= 2.91038e-011
f= 1.45519e-011
f= 7.27596e-012
f= 3.63798e-012
f= 1.81899e-012
f= 9.09495e-013
f= 4.54747e-013
f= 2.27374e-013
f= 1.13687e-013
f= 5.68434e-014
f= 2.84217e-014
f= 1.42109e-014
f= 7.10543e-015
f= 3.55271e-015
f= 1.77636e-015
f= 8.88178e-016
f= 4.44089e-016
f= 2.22045e-016
f= 1.11022e-016
f= 5.55112e-017
f= 2.77556e-017
f= 1.38778e-017
f= 6.93889e-018
f= 3.46945e-018
f= 1.73472e-018
f= 8.67362e-019
f= 4.33681e-019
f= 2.1684e-019
f= 1.0842e-019
f= 5.42101e-020
f= 2.71051e-020
f= 1.35525e-020
f= 6.77626e-021
f= 3.38813e-021
f= 1.69407e-021
f= 8.47033e-022
f= 4.23516e-022
f= 2.11758e-022
f= 1.05879e-022
f= 5.29396e-023
f= 2.64698e-023
f= 1.32349e-023
f= 6.61744e-024
f= 3.30872e-024
f= 1.65436e-024
f= 8.27181e-025
f= 4.1359e-025
f= 2.06795e-025
f= 1.03398e-025
f= 5.16988e-026
f= 2.58494e-026
f= 1.29247e-026
f= 6.46235e-027
f= 3.23117e-027
f= 1.61559e-027
f= 8.07794e-028
f= 4.03897e-028
f= 2.01948e-028
f= 1.00974e-028
f= 5.04871e-029
f= 2.52435e-029
f= 1.26218e-029
f= 6.31089e-030
f= 3.15544e-030
f= 1.57772e-030
f= 7.88861e-031
f= 3.9443e-031
f= 1.97215e-031
f= 9.86076e-032
f= 4.93038e-032
f= 2.46519e-032
f= 1.2326e-032
f= 6.16298e-033
f= 3.08149e-033
f= 1.54074e-033
f= 7.70372e-034
f= 3.85186e-034
f= 1.92593e-034
f= 9.62965e-035
f= 4.81482e-035
f= 2.40741e-035
f= 1.20371e-035
f= 6.01853e-036
f= 3.00927e-036
f= 1.50463e-036
f= 7.52316e-037
f= 3.76158e-037
f= 1.88079e-037
f= 9.40395e-038
f= 4.70198e-038
f= 2.35099e-038
f= 1.17549e-038
f= 5.87747e-039
f= 2.93874e-039
f= 1.46937e-039
f= 7.34684e-040
f= 3.67342e-040
f= 1.83671e-040
f= 9.18355e-041
f= 4.59177e-041
f= 2.29589e-041
f= 1.14794e-041
f= 5.73972e-042
f= 2.86986e-042
f= 1.43493e-042
f= 7.17465e-043
f= 3.58732e-043
f= 1.79366e-043
f= 8.96831e-044
f= 4.48416e-044
f= 2.24208e-044
f= 1.12104e-044
f= 5.60519e-045
f= 2.8026e-045
f= 1.4013e-045
#include <stdio.h>
void main() {
float f=2.0f;
while ( 1.0f+f != 1.0f) {
printf("f=%.6g\n",f);
f=f/2.0f;
}
}
f=2
f=1
f=0.5
f=0.25
f=0.125
f=0.0625
f=0.03125
f=0.015625
f=0.0078125
f=0.00390625
f=0.00195313
f=0.000976563
f=0.000488281
f=0.000244141
f=0.00012207
f=6.10352e-005
f=3.05176e-005
f=1.52588e-005
f=7.62939e-006
f=3.8147e-006
f=1.90735e-006
f=9.53674e-007
f=4.76837e-007
f=2.38419e-007
f=1.19209e-007
f=5.96046e-008
f=2.98023e-008
f=1.49012e-008
f=7.45058e-009
f=3.72529e-009
f=1.86265e-009
f=9.31323e-010
f=4.65661e-010
f=2.32831e-010
f=1.16415e-010
f=5.82077e-011
f=2.91038e-011
f=1.45519e-011
f=7.27596e-012
f=3.63798e-012
f=1.81899e-012
f=9.09495e-013
f=4.54747e-013
f=2.27374e-013
f=1.13687e-013
f=5.68434e-014
f=2.84217e-014
f=1.42109e-014
f=7.10543e-015
f=3.55271e-015
f=1.77636e-015
f=8.88178e-016
f=4.44089e-016
f=2.22045e-016
void test()
{
float f=2.0;
while ( f>0.0)
{
printf("f=%20g\n",f);
f=f/2.0;
}
}