FIX(N!*10^2) Gives Different Results in .EXE and QB.EXE (30880)






This article was previously published under Q30880

SYMPTOMS

The following code example using the FIX function produces different results inside the QB.EXE environment and as an executable EXE file. Compiling the program with the BC /O compiling option and the debug (/d) option does not affect the results.

STATUS

Microsoft has confirmed this to be a bug in QuickBasic Versions 4.00, 4.00b, and 4.50, and in the Microsoft Basic Compiler Versions 6.00 and 6.00b for MS-DOS and OS/2 (buglist6.00, buglist6.00b). This problem has been corrected in the Microsoft Basic Compiler Version 7.00 (fixlist7.00).

The following code example demonstrates the problem:
   N! = -21
   PRINT FIX(N! * 10 ^ 2)
				
The following is a workaround for the problem:
   N! = -21
   PRINT FIX(N!) * 10 ^ 2
				

Modification Type: Minor Last Reviewed: 1/9/2003
Keywords: kbbug KB30880