Incorrect Result Raising 10 to Very Large/Very Small Power (172911)



The information in this article applies to:

  • Microsoft Excel 97 for Windows
  • Microsoft Excel 98 Macintosh Edition

This article was previously published under Q172911

SYMPTOMS

In the versions of Microsoft Excel listed at the beginning of this article, if you enter a formula in which the value 10 is raised to either a very large power or a very small power, the formula may return an incorrect result:
   10 Raised to       Expected Result   Actual Result
   -------------------------------------------------------------------

   very large power   #NUM! error       0, 0.1

   very small power   0                 #DIV/0! error, 10^<some value>
NOTE: These problems do not occur in earlier versions of Microsoft Excel. Also, the problems do not occur when you raise a value other than 10 to a very large power or a very small power; for example, =9^10000000000 correctly returns a #NUM! error.

CAUSE

These problems occur when you enter a formula in which the value 10 is raised to a power in one of the following ranges:

  • greater than or equal to 2^31 (2,147,483,648) and less than or equal to 10^308 (1 followed by 308 zeroes) -or-

  • less than or equal to -(2^31) (-2,147,483,648) and greater than or equal to -(10^308) (-1 followed by 308 zeroes)
For example:
   Formula you type          Value returned
   ----------------------------------------

   =10^2147483648            0
   =10^10000000000           0.1
   =10^(10^308)              0.1
				
These formulas should all return a #NUM! error, because the largest positive number allowed in Microsoft Excel is 9.99999999999999E+307, which is just less than 10^308. Or:
   Formula you type          Value returned
   ----------------------------------------
   =10^-2147483648           #DIV/0!
   =10^-4294966989           1E+307
   =10^-4294967295           10
   =10^-(10^308)             10
				
These formulas should all return the value 0, because the smallest positive number allowed in Microsoft Excel is 1E-307, which is just above 0.

WORKAROUND

To prevent this problem from occurring, make sure that formulas in your workbooks do not raise the number 1.797 to a power larger than 308 or the number 2.225 smaller than -308.

STATUS

Microsoft has confirmed this to be a problem in the Microsoft products listed at the beginning of this article.

MORE INFORMATION

Microsoft Excel supports positive values almost as large as 10^308 (a one followed by 308 zeroes) and almost as small as 10^-308 (a decimal point, followed by 308 zeroes and a one). Similar negative values are also supported. Smaller values are rounded to 0, and larger values are converted into a #NUM! error value.

For comparison, note that the estimated number of elementary particles in the known universe is 10^80, or a one followed by 80 zeroes. The smallest value used in physics is roughly 10^-33 centimeters, the scale at which quantum fluctuations are believed to exist. These values are well within the limits supported by Microsoft Excel; so, Microsoft Excel can work with any meaningful number in the universe.

With respect to the largest formula shown above: note that a googol is 10^100, or a 1 followed by 100 zeroes, and that a googolplex is 10^googol, or a 1 followed by 10^100 zeroes.

The correct result of the third formula shown above, =10^(1E+308), is a 1 followed by 10^308 zeroes. So, the result of the third formula is equivalent to the following:

googolplex*googolplex*googolplex*(10^(10^8))

So, it would take over (1 followed by 10^307 zeroes) universes to contain (1 followed by 10^308 zeroes) elementary particles.

Modification Type:MinorLast Reviewed:8/19/2003
Keywords:kbbug kbpending KB172911