ARM Technical Support Knowledge Articles

FLOATING-POINT SUPPORT

Applies to: C166 C Compiler

Answer


Information in this article applies to:


QUESTION

We are changing software that currently uses integer math to use floating-point math. Does the Keil C166 Compiler support floating-point math and are there include files or libraries we need to declare in order for it to compile successfully with float variables?

ANSWER

The C166 compiler supports both single-precision (32-bit) and double-precision (64-bit) floating-point. To use either, all you have to do is start declaring and using floating-point variables just like in ANSI C.

By default, all float and double variables are stored in 32-bit IEEE format. This gives a precision of 7 decimal digits. When you require higher precision (than 7 digits) you may use the C166 FLOAT64 directive to enable 64-bit doubles. Enable this option in uVision under Project - Options for Target - C166 - Double-precision floating-point. If you enable FLOAT64, all double variables are stored in 64-bit IEEE format. This provides a precision of 15 decimal digits.

MORE INFORMATION

Article last edited on: 2005-07-15 14:07:19

Rate this article

[Bad]
|
|
[Good]
Disagree? Move your mouse over the bar and click

Did you find this article helpful? Yes No

How can we improve this article?

Link to this article
Copyright © 2011 ARM Limited. All rights reserved. External (Open), Non-Confidential