Chris De Herrera's Windows CE Website

About
Discuss.Pocket PC FAQ Forum

Add Pocket PC FAQ to your Favorites
RSS    RSS Feeds
Wiki    Lost?
Custom Search
Subscribe    Print
Miscellaneous
Table of Contents
Mobile Format
News

[an error occurred while processing this directive]


 
Pocket PC Magazine Best Site

Website Awards
Website Updates

By Chris De Herrera 
Copyright 1998-2007
 All Rights Reserved
A member of the Talksites Family of Websites

Windows and Windows CE are trademarks of Microsoft
Corporation
and are used
under license from owner.
CEWindows.NET is not
associated with Microsoft 
Corporation.

All Trademarks are owned
by their respective companies.

Integer and Floating Point Calculations FAQ
By Chris De Herrera, Copyright 2002, 2004
 Version 1.01  Revised 10/16/2004

[an error occurred while processing this directive]

Introduction

So you've got a Pocket PC, Handheld PC or Palm-size PC and you want to know more about how it calculates math? This FAQ helps explain what is going on under the covers of your device when it calculates any math function.

What is Integer and Floating Point Math?

Computers see Math as two major categories - integer and floating point.  Integer math results in a round number (ie: a number without a decimal) and has a limited size based on whether it is a short integer (usually 2 bytes) or a long integer (usually 4 bytes).  Floating point math results in a number with a decimal point or a large number that can not be represented as an integer.

What does a RISC Computer Use?

The Pocket PC, Handheld PC and Palm-size PCs use RISC (reduced instruction set computer) microprocessors.  These processors usually do not include instructions to perform floating point math like the PC does since Intel integrated their math coprocessor with the 486DX and all later versions.  So the RISC processor model is to use multiple integer functions to perform floating point math.  Some RISC processors use a barrel roller to allow the processor to perform fast integer multiplication.  In more complex RISC processors they support a built-in math coprocessor.

Floating Point Library

Part of the design of Windows CE is that Microsoft provides a floating point library as part of the operating system.  This floating point library requires many more cycles to calculate functions than using a built-in math coprocessor which is optimized to calculate these numbers very quickly.  Also these libraries address common math functions like SIN, COS, TAN, etc that are commonly used in calculations. This method trades system performance for microprocessor simplicity.   This is why users will see calculations in Pocket Excel that take much longer than on a PC of similar clock speed to their Pocket PC.

Conclusion

So now you know why Windows CE calculates floating point math is much slower than the PC.  So I believe that in the future, the hardware designers using Windows CE should consider providing a math coprocessor and or a much higher clock rate to meet users expectations about performance.

[an error occurred while processing this directive]

Return to Chris De Herrera's Windows CE Website