Filling in the gaps—floating-point numbers

阅读更多

浮点常量也可以表示成科学或指数计数法。例如,下面的2句变量声明会初始化为相同的值:

float a = 0.0001;

float b = 1e-4;

 

The e can be thought of as representing “times 10 to the power of.”

 

On the iPhone,as with most modern platforms,floating-point values are stored in a format called the IEEE 754 standard.

 

With only a restricted set of values you can use for the mantissa , you can’t represent every value in the

extended range enabled by the exponent.This leads to the interesting discovery that certain decimal values

can't be stored precisely.举个例子,下面代码片段的输出,可能会让你感到惊讶:

float f = 0.6f;

NSLog(@"0.6 = %0.10f", f);

 

The %0.10f bit in the call to NSLog requests that the value be printed to 10 decimal places,

but instead of the value 0.6000000000,the value 0.6000000238 gets printed

 

 

你可能感兴趣的:(Filling in the gaps—floating-point numbers)