Microsoft KB Archive/36069

From BetaArchive Wiki

Results Differ for Alternate & Coprocessor/Emulator Math

Q36069

5.10 6.00 6.00a 6.00ax 7.00 | 5.10 6.00 6.00a | 1.00 MS-DOS | OS/2 | WINDOWS kbprg ---------------------------------------------------------------------- The information in this article applies to: - The C Run-time (CRT) included with: - Microsoft C for MS-DOS, versions 5.1, 6.0, 6.0a, and 6.0ax - Microsoft C for OS/2, versions 5.1, 6.0, and 6.0a - Microsoft C/C++ for MS-DOS, version 7.0 - Microsoft Visual C++ for Windows, version 1.0 ---------------------------------------------------------------------- SUMMARY ======= The coprocessor/emulator math library and the alternate math library may produce different results for floating-point calculations. MORE INFORMATION ================ When an application uses the coprocessor to perform floating-point arithmetic, it pushes all values onto the coprocessor stack. The stack holds only 10-byte real values. Therefore, any 4-byte or 8-byte real (double) values are expanded to 10-byte reals before any operations are performed. The emulator library performs the same expansion. The results are converted back to a 4-byte or 8-byte real value as appropriate. The alternate math library performs calculations directly using 4-byte or 8-byte real values which can result in less calculation precision than that available with the coprocessor/emulator math library. Additional reference words: kbinf 5.10 6.00 6.00a 6.00ax 7.00 1.00 KBCategory: kbprg KBSubcategory: CRTIss

Keywords : kb16bitonly
Issue type :
Technology : kbVCsearch kbAudDeveloper kbCRT


Last Reviewed: May 5, 2001
© 2001 Microsoft Corporation. All rights reserved. Terms of Use.