BUG: Compiler Generates Incorrect Code with Unsigned Integer Operand Greater Than 0x80000000 (263715)
The information in this article applies to:
- Microsoft Visual C++, 32-bit Enterprise Edition 6.0
- Microsoft Visual C++, 32-bit Professional Edition 6.0
- Microsoft Visual C++, 32-bit Learning Edition 6.0
This article was previously published under Q263715 SYMPTOMS
The compiler may generate incorrect code for floating point binary expressions (multiply, add, divide and sub) where the second argument is an unsigned integer in the range 0x80000000 to 0xFFFFFFFF.
RESOLUTION
There are two ways to resolve this problem: - Assign the argument to a float before you use it in the expression.
- Cast the argument to a double instead of a float.
STATUSMicrosoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.
Modification Type: | Minor | Last Reviewed: | 7/5/2005 |
---|
Keywords: | kbBug kbCodeGen kbCompiler KB263715 |
---|
|