<html lang="en">
<head>
<title>Arithmetic - The GNU C Library</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="The GNU C Library">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="prev" href="Mathematics.html#Mathematics" title="Mathematics">
<link rel="next" href="Date-and-Time.html#Date-and-Time" title="Date and Time">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
This file documents the GNU C library.

This is Edition 0.12, last updated 2007-10-27,
of `The GNU C Library Reference Manual', for version
2.8 (Sourcery G++ Lite 2011.03-41).

Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002,
2003, 2007, 2008, 2010 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being ``Free Software Needs Free Documentation''
and ``GNU Lesser General Public License'', the Front-Cover texts being
``A GNU Manual'', and with the Back-Cover Texts as in (a) below.  A
copy of the license is included in the section entitled "GNU Free
Documentation License".

(a) The FSF's Back-Cover Text is: ``You have the freedom to
copy and modify this GNU manual.  Buying copies from the FSF
supports it in developing GNU and promoting software freedom.''-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
  pre.display { font-family:inherit }
  pre.format  { font-family:inherit }
  pre.smalldisplay { font-family:inherit; font-size:smaller }
  pre.smallformat  { font-family:inherit; font-size:smaller }
  pre.smallexample { font-size:smaller }
  pre.smalllisp    { font-size:smaller }
  span.sc    { font-variant:small-caps }
  span.roman { font-family:serif; font-weight:normal; } 
  span.sansserif { font-family:sans-serif; font-weight:normal; } 
--></style>
<link rel="stylesheet" type="text/css" href="../cs.css">
</head>
<body>
<div class="node">
<a name="Arithmetic"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Date-and-Time.html#Date-and-Time">Date and Time</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Mathematics.html#Mathematics">Mathematics</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="index.html#Top">Top</a>
<hr>
</div>

<!-- %MENU% Low level arithmetic functions -->
<h2 class="chapter">20 Arithmetic Functions</h2>

<p>This chapter contains information about functions for doing basic
arithmetic operations, such as splitting a float into its integer and
fractional parts or retrieving the imaginary part of a complex value. 
These functions are declared in the header files <samp><span class="file">math.h</span></samp> and
<samp><span class="file">complex.h</span></samp>.

<ul class="menu">
<li><a accesskey="1" href="Integers.html#Integers">Integers</a>:                     Basic integer types and concepts
<li><a accesskey="2" href="Integer-Division.html#Integer-Division">Integer Division</a>:             Integer division with guaranteed rounding. 
<li><a accesskey="3" href="Floating-Point-Numbers.html#Floating-Point-Numbers">Floating Point Numbers</a>:       Basic concepts.  IEEE 754. 
<li><a accesskey="4" href="Floating-Point-Classes.html#Floating-Point-Classes">Floating Point Classes</a>:       The five kinds of floating-point number. 
<li><a accesskey="5" href="Floating-Point-Errors.html#Floating-Point-Errors">Floating Point Errors</a>:        When something goes wrong in a calculation. 
<li><a accesskey="6" href="Rounding.html#Rounding">Rounding</a>:                     Controlling how results are rounded. 
<li><a accesskey="7" href="Control-Functions.html#Control-Functions">Control Functions</a>:            Saving and restoring the FPU's state. 
<li><a accesskey="8" href="Arithmetic-Functions.html#Arithmetic-Functions">Arithmetic Functions</a>:         Fundamental operations provided by the library. 
<li><a accesskey="9" href="Complex-Numbers.html#Complex-Numbers">Complex Numbers</a>:              The types.  Writing complex constants. 
<li><a href="Operations-on-Complex.html#Operations-on-Complex">Operations on Complex</a>:        Projection, conjugation, decomposition. 
<li><a href="Parsing-of-Numbers.html#Parsing-of-Numbers">Parsing of Numbers</a>:           Converting strings to numbers. 
<li><a href="System-V-Number-Conversion.html#System-V-Number-Conversion">System V Number Conversion</a>:   An archaic way to convert numbers to strings. 
</ul>

   </body></html>

