aboutsummaryrefslogtreecommitdiffstats
path: root/docs/source/lang/float.rst
diff options
context:
space:
mode:
authorMarti Bolivar <mbolivar@mit.edu>2010-11-28 11:23:33 -0500
committerMarti Bolivar <mbolivar@mit.edu>2010-11-28 11:23:33 -0500
commit5e587be27a7c3bd854b686952a5c9637a2432ff0 (patch)
tree09d4ceeb46f19287ee874a24516c68be90c9ad8e /docs/source/lang/float.rst
parentdb4ff6ba53e9b702c77411ae19cd53d914a675de (diff)
downloadlibrambutan-5e587be27a7c3bd854b686952a5c9637a2432ff0.tar.gz
librambutan-5e587be27a7c3bd854b686952a5c9637a2432ff0.zip
reorganized all the arduino/ docs into a lang/ subdirectory since
they're properly CC attributed now.
Diffstat (limited to 'docs/source/lang/float.rst')
-rw-r--r--docs/source/lang/float.rst53
1 files changed, 53 insertions, 0 deletions
diff --git a/docs/source/lang/float.rst b/docs/source/lang/float.rst
new file mode 100644
index 0000000..ef1a339
--- /dev/null
+++ b/docs/source/lang/float.rst
@@ -0,0 +1,53 @@
+.. highlight:: cpp
+
+.. _lang-float:
+
+float
+=====
+
+Description
+-----------
+
+Single-precision floating point number. Occupies 4 bytes. On Maple,
+the ``float`` type has a range of approximately -3.40282×10^38 to
+3.40282×10^38; the ``float`` type is subject to the same
+:ref:`overflow issues <lang-variables-rollover>` as any numeric data
+type.
+
+``float``\ s have only 6-7 decimal digits of precision. That means the
+total number of digits, not the number to the right of the decimal
+point. You can get more precision by using a :ref:`double
+<lang-double>` (which has a precision of about 16 decimal digits).
+
+The following example declares a ``float`` value named ``myfloat``::
+
+ float myfloat;
+
+This example declares a ``float`` value named ``sensorCalibrate``,
+with value 1.117::
+
+ float sensorCalibrate = 1.117;
+
+The general syntax for declaring a float named ``var`` with value
+``val`` is::
+
+ float var = val;
+
+Here is a more extended example involving a :ref:`float cast
+<lang-floatcast>`::
+
+ int x;
+ int y;
+ float z;
+
+ x = 1;
+ y = x / 2; // y now contains 0, ints can't hold fractions
+ z = float(x) / 2; // z now contains .5
+
+See Also
+--------
+
+- :ref:`double <lang-double>`
+- :ref:`Variables <lang-variables>`
+
+.. include:: cc-attribution.txt