You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
775 lines
24 KiB
775 lines
24 KiB
15 years ago
|
<?xml version="1.0" ?>
|
||
|
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
|
||
|
<!ENTITY kappname "&kcalc;" >
|
||
|
<!ENTITY package "kdeutils">
|
||
|
<!ENTITY % addindex "IGNORE">
|
||
|
<!ENTITY % English "INCLUDE" > <!-- change language only here -->
|
||
|
<!ENTITY commands SYSTEM "commands.docbook">
|
||
|
]>
|
||
|
|
||
|
<book lang="&language;">
|
||
|
<bookinfo>
|
||
|
<title>The &kcalc; Handbook</title>
|
||
|
|
||
|
<authorgroup>
|
||
|
<author>
|
||
|
&Bernd.Johannes.Wuebben; &Bernd.Johannes.Wuebben.mail;
|
||
|
</author>
|
||
|
|
||
|
<author>
|
||
|
&Pamela.Roberts;&Pamela.Roberts.mail;
|
||
|
<!-- <affiliation><jobtitle>Handbook maintainer</jobtitle>
|
||
|
</affiliation> -->
|
||
|
</author>
|
||
|
<author>
|
||
|
&Anne-Marie.Mahfouf;&Anne-Marie.Mahfouf.mail;
|
||
|
<!-- <affiliation><jobtitle>Handbook maintainer</jobtitle>
|
||
|
</affiliation> -->
|
||
|
</author>
|
||
|
<!-- TRANS:ROLES_OF_TRANSLATORS -->
|
||
|
</authorgroup>
|
||
|
|
||
|
<copyright>
|
||
|
<year>2001</year> <year>2002</year> <year>2005</year> <year>2006</year>
|
||
|
<holder>&Bernd.Johannes.Wuebben;, &Pamela.Roberts;,
|
||
|
&Anne-Marie.Mahfouf;</holder>
|
||
|
</copyright>
|
||
|
|
||
|
<legalnotice>&FDLNotice;</legalnotice>
|
||
|
|
||
|
<date>2006-02-13</date>
|
||
|
<releaseinfo>2.0.2</releaseinfo>
|
||
|
|
||
|
<abstract><para>&kcalc; is a scientific calculator for &kde;</para></abstract>
|
||
|
|
||
|
<keywordset>
|
||
|
<keyword>KDE</keyword>
|
||
|
<keyword>KCalc</keyword>
|
||
|
<keyword>calculator</keyword>
|
||
|
</keywordset>
|
||
|
</bookinfo>
|
||
|
|
||
|
<chapter id="introduction">
|
||
|
<title>Introduction</title>
|
||
|
|
||
|
<para>This document describes &kcalc; version 1.8.</para>
|
||
|
|
||
|
<para>&kcalc; offers many more mathematical functions than meet the eye
|
||
|
on a first glance. Please study the section on keyboard accelerators and
|
||
|
modes in this handbook to learn more about the many functions
|
||
|
available.</para>
|
||
|
|
||
|
<para>In addition to the usual functionality offered by most scientific
|
||
|
calculators, &kcalc; offers a number of features, which I think are
|
||
|
worthwhile pointing out:</para>
|
||
|
|
||
|
<itemizedlist>
|
||
|
<listitem>
|
||
|
<para>&kcalc; provides trigonometric functions, logic operations, and it is
|
||
|
able to do statistical calculations.</para>
|
||
|
</listitem>
|
||
|
<listitem>
|
||
|
<para>&kcalc; allows you to cut and paste numbers from/into its display.</para>
|
||
|
</listitem>
|
||
|
<listitem>
|
||
|
<para>&kcalc; features a <firstterm>results-stack</firstterm> which lets
|
||
|
you conveniently recall previous results.</para>
|
||
|
</listitem>
|
||
|
<listitem>
|
||
|
<para>You can configure &kcalc;'s display colors and font.</para>
|
||
|
</listitem>
|
||
|
<listitem>
|
||
|
<para>You can configure &kcalc;'s precision and the number
|
||
|
of digits after the period.</para>
|
||
|
</listitem>
|
||
|
<listitem>
|
||
|
<para> &kcalc; offers a great number of useful <link linkend="key-accels">
|
||
|
key-bindings</link>, which make using &kcalc; without using a pointing device easy.</para>
|
||
|
<para>Hint: pressing (and holding) the <keycap>&Ctrl;</keycap>-key, displays on
|
||
|
every button,
|
||
|
the corresponding key-binding.</para>
|
||
|
</listitem>
|
||
|
</itemizedlist>
|
||
|
|
||
|
<para>Have fun with &kcalc;!</para>
|
||
|
|
||
|
<para>Bernd Johannes Wuebben</para>
|
||
|
|
||
|
</chapter>
|
||
|
|
||
|
|
||
|
<chapter id="usage">
|
||
|
<title>Usage</title>
|
||
|
<sect1 id="general-usage">
|
||
|
<title>General Usage</title>
|
||
|
|
||
|
<para>General usage is straight forward and similar to the way most
|
||
|
simple scientific calculators operate, but take note of the following
|
||
|
special &kcalc; features:</para>
|
||
|
|
||
|
<variablelist>
|
||
|
<varlistentry>
|
||
|
<term>Result Stack</term>
|
||
|
<listitem><para>Each time you &LMB; click on the
|
||
|
<guibutton>=</guibutton> button or press your keyboard's
|
||
|
<keycap>Enter</keycap> or <keysym>=</keysym> keys, the display result is
|
||
|
written to &kcalc;'s result stack. You can navigate through the result
|
||
|
stack with your keyboard's
|
||
|
<keycombo action="simul">&Ctrl;<keycap>Z</keycap></keycombo>
|
||
|
and <keycombo action="simul">&Ctrl; &Shift;<keycap>Z</keycap></keycombo>
|
||
|
keys.</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
|
||
|
<varlistentry>
|
||
|
<term>Percent Function</term>
|
||
|
<listitem>
|
||
|
<para>The percent function works somewhat differently to that on most
|
||
|
calculators. However, once understood, its enhanced functionality proves
|
||
|
quite useful. See the section about the <link
|
||
|
linkend="percent">percent</link> function for further details.</para>
|
||
|
</listitem></varlistentry>
|
||
|
|
||
|
<varlistentry>
|
||
|
<term>Cut and Paste</term>
|
||
|
<listitem>
|
||
|
<para><itemizedlist>
|
||
|
<listitem>
|
||
|
<para>Pressing <keycombo action="simul">&Ctrl;<keycap>C</keycap></keycombo>
|
||
|
will place the displayed number on to the clipboard.</para>
|
||
|
</listitem>
|
||
|
<listitem>
|
||
|
<para>Pressing <keycombo action="simul">&Ctrl;<keycap>V</keycap></keycombo>
|
||
|
will paste the clipboard content into the display if the content of the
|
||
|
clipboard is a valid floating point number.</para>
|
||
|
</listitem>
|
||
|
<listitem>
|
||
|
<para>It is still possible to copy/paste by clicking on &kcalc;'s display,
|
||
|
but this may disappear in future versions.</para>
|
||
|
</listitem>
|
||
|
</itemizedlist>
|
||
|
</para></listitem></varlistentry>
|
||
|
|
||
|
<varlistentry>
|
||
|
<term>Advanced functions</term>
|
||
|
<listitem>
|
||
|
<para>When you start &kcalc; for the first time, the calculator will only
|
||
|
display buttons for basic arithmetic computations.</para>
|
||
|
<para>Under the menu entry <guimenu>Settings</guimenu> it is possible to
|
||
|
open extra buttons for &kcalc;:
|
||
|
it is for example possible to choose
|
||
|
<link linkend="statistical-mode">Statistical</link> or
|
||
|
<link linkend="trigonometric-mode">Trigonometric</link> buttons.</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
</variablelist>
|
||
|
</sect1>
|
||
|
|
||
|
<sect1 id="statistical-mode">
|
||
|
<title>Statistical Mode</title>
|
||
|
|
||
|
<para>In this mode the left column of buttons is allocated to statistical
|
||
|
functions:</para>
|
||
|
<para> Most of the functionality in this mode is centered around the <guibutton>Dat</guibutton>
|
||
|
button. To create a data list of numbers, enter a number into the calculator and press
|
||
|
<guibutton>Dat</guibutton>. A sequentially increasing number is shown on the display indicating
|
||
|
which position in the Data <quote>list</quote> the number occupies. A traditional calculator only
|
||
|
stores three values for statistical functions: The number of discrete items in a list, the sum of
|
||
|
the data items entered and the sum of the square of all data items in the list. &kcalc; differs by
|
||
|
actually storing each discrete value, allowing you to calculate the median value of the data.
|
||
|
</para>
|
||
|
|
||
|
<informaltable><tgroup cols="2">
|
||
|
<thead>
|
||
|
<row><entry>Buttons</entry>
|
||
|
<entry>Function</entry></row></thead>
|
||
|
|
||
|
<tbody>
|
||
|
<row><entry><guibutton>N</guibutton></entry>
|
||
|
<entry>Recall the number of data items entered</entry></row>
|
||
|
|
||
|
<row><entry><guibutton>Inv</guibutton> <guibutton>N</guibutton></entry>
|
||
|
<entry>Display the sum of all data items entered</entry></row>
|
||
|
|
||
|
<row><entry><guibutton>Mea</guibutton></entry>
|
||
|
<entry>Display the mean of the data items entered</entry></row>
|
||
|
|
||
|
<row><entry><guibutton>Inv</guibutton> <guibutton>Mea</guibutton></entry>
|
||
|
<entry>Display the sum of the square of all data items entered</entry></row>
|
||
|
|
||
|
<row><entry><guibutton>Std</guibutton></entry>
|
||
|
<entry>Display the standard deviation (n)</entry></row>
|
||
|
|
||
|
<row><entry><guibutton>Inv</guibutton> <guibutton>Std</guibutton></entry>
|
||
|
<entry>Display the population standard deviation (n-1)</entry></row>
|
||
|
|
||
|
<row><entry><guibutton>Med</guibutton></entry>
|
||
|
<entry>Display the median</entry></row>
|
||
|
|
||
|
<row><entry><guibutton>Dat</guibutton></entry>
|
||
|
<entry>Enter a data item</entry></row>
|
||
|
|
||
|
<row><entry><guibutton>Inv</guibutton> <guibutton>Dat</guibutton></entry>
|
||
|
<entry>Clear last data item entered</entry></row>
|
||
|
|
||
|
<row><entry><guibutton>Cst</guibutton></entry>
|
||
|
<entry>Clear the store of all data item entered</entry></row>
|
||
|
|
||
|
</tbody></tgroup></informaltable>
|
||
|
|
||
|
|
||
|
</sect1>
|
||
|
|
||
|
<sect1 id="trigonometric-mode">
|
||
|
<title>Trigonometric Mode</title>
|
||
|
|
||
|
<para>In this mode the left column of buttons is allocated to trigonometric
|
||
|
functions:</para>
|
||
|
|
||
|
<informaltable><tgroup cols="2">
|
||
|
<thead>
|
||
|
<row><entry>Buttons</entry>
|
||
|
<entry>Function</entry></row>
|
||
|
</thead>
|
||
|
<tbody>
|
||
|
<row><entry><guibutton>Hyp</guibutton></entry>
|
||
|
<entry>Enter Hyperbolic sub mode. Hyp Sin for example is the hyperbolic sine:
|
||
|
sinh(x)</entry></row>
|
||
|
|
||
|
<row><entry><guibutton>Sin</guibutton></entry>
|
||
|
<entry>Compute the sine</entry></row>
|
||
|
|
||
|
<row><entry><guibutton>Inv</guibutton> <guibutton>Sin</guibutton></entry>
|
||
|
<entry>Compute the inverse sine</entry></row>
|
||
|
|
||
|
<row><entry><guibutton>Cos</guibutton></entry>
|
||
|
<entry>Compute the cosine</entry></row>
|
||
|
|
||
|
<row><entry><guibutton>Inv</guibutton> <guibutton>Cos</guibutton></entry>
|
||
|
<entry>Compute the inverse cosine</entry></row>
|
||
|
|
||
|
<row><entry><guibutton>Tan</guibutton></entry>
|
||
|
<entry>Compute the tangent</entry></row>
|
||
|
|
||
|
<row><entry><guibutton>Inv</guibutton> <guibutton>Tan</guibutton></entry>
|
||
|
<entry>Compute the inverse tangent</entry></row>
|
||
|
|
||
|
<row><entry><guibutton>Log</guibutton></entry>
|
||
|
<entry>Compute the Log base 10</entry></row>
|
||
|
|
||
|
<row><entry><guibutton>Inv</guibutton> <guibutton>Log</guibutton></entry>
|
||
|
<entry>Compute 10 to the power of x</entry></row>
|
||
|
|
||
|
<row><entry><guibutton>Ln</guibutton></entry>
|
||
|
<entry>Compute the natural logarithm. That is the log to base e</entry></row>
|
||
|
|
||
|
<row><entry><guibutton>Inv</guibutton> <guibutton>Ln</guibutton></entry>
|
||
|
<entry>Compute e to the power of x</entry></row>
|
||
|
|
||
|
</tbody></tgroup></informaltable>
|
||
|
|
||
|
</sect1>
|
||
|
|
||
|
<sect1 id="memory-operations">
|
||
|
<title>Memory Operations</title>
|
||
|
|
||
|
<para>&kcalc; supports the memory operations given by standard
|
||
|
calculators plus six slots to hold constants.</para>
|
||
|
|
||
|
<sect2 id="standard_memory">
|
||
|
<title> Standard Memory Operations</title>
|
||
|
|
||
|
<para>&kcalc; can remember results of operations for you, and re-use them in
|
||
|
later calculations. You can access these functions via several buttons
|
||
|
labelled <guibutton>MR</guibutton>, <guibutton>MS</guibutton>,
|
||
|
<guibutton>M+</guibutton> and <guibutton>MC</guibutton>.</para>
|
||
|
|
||
|
<variablelist>
|
||
|
<varlistentry>
|
||
|
<term><guibutton>MS</guibutton></term>
|
||
|
<listitem><para>The <guibutton>MS</guibutton> button stores the currently
|
||
|
displayed result in memory.</para></listitem>
|
||
|
</varlistentry>
|
||
|
|
||
|
<varlistentry>
|
||
|
<term><guibutton>M+</guibutton></term>
|
||
|
<listitem><para>The <guibutton>M+</guibutton> button adds the current result to the
|
||
|
one in memory. So, if you had stored a 20, and the current result is a 5,
|
||
|
your memory would contain 25 when you press it. If the memory is empty, it
|
||
|
acts like <guibutton>MS</guibutton> and simply stores the
|
||
|
result.</para></listitem>
|
||
|
</varlistentry>
|
||
|
|
||
|
<varlistentry>
|
||
|
<term><guibutton>MR</guibutton></term>
|
||
|
<listitem><para>The <guibutton>MR</guibutton> button gets the value stored
|
||
|
in memory and puts it in the display.</para></listitem>
|
||
|
</varlistentry>
|
||
|
|
||
|
<varlistentry>
|
||
|
<term><guibutton>MC</guibutton></term>
|
||
|
<listitem><para>The <guibutton>MC</guibutton> button clears the
|
||
|
memory.</para></listitem>
|
||
|
</varlistentry>
|
||
|
</variablelist>
|
||
|
|
||
|
<para>If a value is stored in memory a <guilabel>M</guilabel> will appear in
|
||
|
the status bar, next to the calculator mode indicator</para>
|
||
|
</sect2>
|
||
|
|
||
|
<sect2 id="constant_buttons">
|
||
|
<title>Constants</title>
|
||
|
|
||
|
<para>The six constants buttons <guibutton>C1</guibutton> to
|
||
|
<guibutton>C6</guibutton> will only be visible after activating the
|
||
|
item <guilabel>Constants Buttons</guilabel> in the menu
|
||
|
<guimenu>Settings</guimenu> of the menu bar.</para>
|
||
|
|
||
|
<para>To store the number shown in the &kcalc; display in one of the
|
||
|
six constants, first press <guibutton>Inv</guibutton> followed
|
||
|
by the desired button key <guibutton>C1</guibutton> up to
|
||
|
<guibutton>C6</guibutton>.</para>
|
||
|
|
||
|
<para>To use the value stored in any of the contants in a calculation, just
|
||
|
press the desired button (<guibutton>C1</guibutton> to <guibutton>C6</guibutton>),
|
||
|
and the corresponding number will appear in the display. </para>
|
||
|
|
||
|
<para>IIt is possible to change the label of the constants button to make it easier
|
||
|
to remember which button holds which constant. Click with the right mouse
|
||
|
button on one of the buttons <guibutton>C1</guibutton> to <guibutton>
|
||
|
C6</guibutton>. A popup menu appears, in which you select <guilabel>
|
||
|
Set Name</guilabel>. </para>
|
||
|
|
||
|
<para>There are many (mostly physical) predefined constants, which can
|
||
|
be put on any of the six buttons <guibutton>C1</guibutton> -
|
||
|
<guibutton>C6</guibutton> by selecting the desired constant in the
|
||
|
popup menu that appears after right clicking on one of the constant
|
||
|
buttons and selecting <guilabel>Choose from List</guilabel>. Though
|
||
|
the predefined constants can also be accessed via the
|
||
|
<guimenu>Constants</guimenu> in the menu bar, storing it on a
|
||
|
constants button is very handy, if the number is used
|
||
|
frequently.</para>
|
||
|
|
||
|
</sect2>
|
||
|
|
||
|
</sect1>
|
||
|
|
||
|
<sect1 id="key-accels">
|
||
|
<title>Single Key Accelerators</title>
|
||
|
|
||
|
<para>To simplify entering calculations from the keyboard &kcalc; has single key
|
||
|
accelerators for most functions. For example entering <userinput>7R</userinput>
|
||
|
or <userinput>7r</userinput> will calculate the reciprocal of 7 (1/7).</para>
|
||
|
|
||
|
<para>During a computation, you can always press <keycap>&Ctrl;</keycap> to make each
|
||
|
button display its key-binding.</para>
|
||
|
|
||
|
<informaltable><tgroup cols="3">
|
||
|
<thead>
|
||
|
<row><entry>Key</entry>
|
||
|
<entry>Function</entry>
|
||
|
<entry>Notes</entry></row>
|
||
|
</thead>
|
||
|
<tbody>
|
||
|
|
||
|
<row><entry><keycap>H</keycap></entry>
|
||
|
<entry><guibutton>Hyp</guibutton></entry>
|
||
|
<entry>Hyperbolic as in Hyp Sin,
|
||
|
the sinh(x)</entry></row>
|
||
|
|
||
|
<row><entry><keycap>S</keycap></entry>
|
||
|
<entry><guibutton>Sin</guibutton></entry>
|
||
|
<entry></entry></row>
|
||
|
|
||
|
<row><entry><keycap>C</keycap></entry>
|
||
|
<entry><guibutton>Cos</guibutton></entry>
|
||
|
<entry></entry></row>
|
||
|
|
||
|
<row><entry><keycap>T</keycap></entry>
|
||
|
<entry><guibutton>Tan</guibutton></entry>
|
||
|
<entry></entry></row>
|
||
|
|
||
|
<row><entry><keycap>N</keycap></entry>
|
||
|
<entry><guibutton>Ln</guibutton></entry>
|
||
|
<entry>log base e</entry></row>
|
||
|
|
||
|
<row><entry><keycap>L</keycap></entry>
|
||
|
<entry><guibutton>Log</guibutton></entry>
|
||
|
<entry>log base 10</entry></row>
|
||
|
|
||
|
<row><entry><keycap>I</keycap></entry>
|
||
|
<entry> <guibutton>Inv</guibutton></entry>
|
||
|
<entry>Inverse, ⪚ if
|
||
|
you want arcsin(x) type <userinput>i s </userinput></entry></row>
|
||
|
|
||
|
<row><entry><keysym>\</keysym></entry>
|
||
|
<entry><guibutton>+/-</guibutton></entry>
|
||
|
<entry>Change sign</entry></row>
|
||
|
|
||
|
<row><entry><keysym>[</keysym></entry>
|
||
|
<entry><guibutton>x^2</guibutton></entry>
|
||
|
<entry></entry></row>
|
||
|
|
||
|
<row><entry><keysym>^</keysym></entry>
|
||
|
<entry><guibutton>x^y</guibutton></entry>
|
||
|
<entry></entry></row>
|
||
|
|
||
|
<row><entry><keysym>!</keysym></entry>
|
||
|
<entry><guibutton>x!</guibutton></entry>
|
||
|
<entry>Factorial</entry></row>
|
||
|
|
||
|
<row><entry><keysym><</keysym></entry>
|
||
|
<entry><guibutton>Lsh</guibutton></entry>
|
||
|
<entry>Left shift. Note: <guibutton>Inv</guibutton>
|
||
|
<guibutton>Lsh</guibutton> is Right shift</entry></row>
|
||
|
|
||
|
<row><entry><keysym>&</keysym></entry>
|
||
|
<entry><guibutton>And</guibutton></entry>
|
||
|
<entry>Logical AND</entry></row>
|
||
|
|
||
|
<row><entry><keysym>*</keysym></entry>
|
||
|
<entry><guibutton>X</guibutton></entry>
|
||
|
<entry>Multiply</entry></row>
|
||
|
|
||
|
<row><entry><keysym>/</keysym></entry>
|
||
|
<entry><guibutton>/</guibutton></entry>
|
||
|
<entry>Divide</entry></row>
|
||
|
|
||
|
<row><entry><keycap>D</keycap></entry>
|
||
|
<entry><guibutton>Dat</guibutton></entry>
|
||
|
<entry>Enter data item in statistical mode</entry></row>
|
||
|
|
||
|
<row><entry><keycap>O</keycap></entry>
|
||
|
<entry><guibutton>Or</guibutton></entry>
|
||
|
<entry>Logical OR. Note: <guibutton>Inv</guibutton>
|
||
|
<guibutton>Or</guibutton> is XOR</entry></row>
|
||
|
|
||
|
<row><entry><keycap>R</keycap></entry>
|
||
|
<entry><guibutton>1/x</guibutton></entry>
|
||
|
<entry>Reciprocal</entry></row>
|
||
|
|
||
|
<row><entry><keysym>=</keysym></entry>
|
||
|
<entry><guibutton>=</guibutton></entry>
|
||
|
<entry></entry></row>
|
||
|
|
||
|
<row><entry><keycap>Enter</keycap></entry>
|
||
|
<entry><guibutton>=</guibutton></entry>
|
||
|
<entry></entry></row>
|
||
|
|
||
|
<row><entry><keycap>Return</keycap></entry>
|
||
|
<entry><guibutton>=</guibutton></entry>
|
||
|
<entry></entry></row>
|
||
|
|
||
|
<row><entry><keycap>Page Up</keycap></entry>
|
||
|
<entry><guibutton>C</guibutton></entry>
|
||
|
<entry>Clear</entry></row>
|
||
|
|
||
|
<row><entry><keycap>Esc</keycap></entry>
|
||
|
<entry><guibutton>C</guibutton></entry>
|
||
|
<entry>Clear</entry></row>
|
||
|
|
||
|
<row><entry><keycap>Prior</keycap></entry>
|
||
|
<entry><guibutton>C</guibutton></entry>
|
||
|
<entry>Clear</entry></row>
|
||
|
|
||
|
<row><entry><keycap>Page Down</keycap></entry>
|
||
|
<entry><guibutton>AC</guibutton></entry>
|
||
|
<entry>Clear all</entry></row>
|
||
|
|
||
|
<row><entry><keycap>Next</keycap></entry>
|
||
|
<entry><guibutton>AC</guibutton></entry>
|
||
|
<entry>Clear all</entry></row>
|
||
|
|
||
|
<row><entry><keycap>Del</keycap></entry>
|
||
|
<entry><guibutton>AC</guibutton></entry>
|
||
|
<entry>Clear all</entry></row>
|
||
|
|
||
|
</tbody></tgroup></informaltable>
|
||
|
|
||
|
</sect1>
|
||
|
</chapter>
|
||
|
|
||
|
<chapter id="comments-on-specific-functions">
|
||
|
<title>Comments on Specific Functions</title>
|
||
|
|
||
|
<sect1 id="mod">
|
||
|
<title>Mod and Inv Mod</title>
|
||
|
|
||
|
<variablelist>
|
||
|
<varlistentry>
|
||
|
<term><guibutton>Mod</guibutton> gives the remainder of dividing the displayed
|
||
|
number by the next input number.</term>
|
||
|
<listitem><para><userinput>22 Mod 8 = </userinput> will give the result
|
||
|
<emphasis>6</emphasis></para>
|
||
|
<para><userinput>22.345 Mod 8 = </userinput> will give the result
|
||
|
<emphasis>6.345</emphasis></para>
|
||
|
</listitem></varlistentry>
|
||
|
|
||
|
<varlistentry>
|
||
|
<term><guibutton>Inv</guibutton> <guibutton>Mod</guibutton> does integer
|
||
|
division of the displayed number by the next input number.</term>
|
||
|
<listitem><para><userinput>22 Inv Mod 8 = </userinput> will give the result
|
||
|
<emphasis>2</emphasis></para>
|
||
|
<para><userinput>22.345 Inv Mod 8 = </userinput> also gives <emphasis>2</emphasis>
|
||
|
</para></listitem></varlistentry>
|
||
|
</variablelist>
|
||
|
|
||
|
</sect1>
|
||
|
|
||
|
|
||
|
<sect1 id="percent">
|
||
|
<title>%</title>
|
||
|
|
||
|
<para>Used instead of the <guibutton>=</guibutton> key,
|
||
|
<guibutton>%</guibutton> interprets the final operation carried out in the
|
||
|
current calculation as follows:</para>
|
||
|
|
||
|
<para><itemizedlist>
|
||
|
<listitem>
|
||
|
<para>If the final operator is + or - the second argument is interpreted as percentage of the first operand.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
<listitem>
|
||
|
<para>If the final operator is * divide the result of the multiplication by 100.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
<listitem>
|
||
|
<para>If the final operator is / give the left operand
|
||
|
as a percentage of the right operand.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
<listitem>
|
||
|
<para> In all other cases the % key gives identical results to the = key.
|
||
|
</para>
|
||
|
</listitem>
|
||
|
</itemizedlist></para>
|
||
|
|
||
|
<variablelist>
|
||
|
<varlistentry>
|
||
|
<term>Examples:</term>
|
||
|
<listitem>
|
||
|
<para><userinput>150 + 50 %</userinput> gives <emphasis>225</emphasis> (150 plus 50 percent of this amount)</para>
|
||
|
<para><userinput>42 * 3 %</userinput> gives
|
||
|
<emphasis>1.26</emphasis> (42 * 3 / 100)</para>
|
||
|
<para><userinput>45 / 55 %</userinput> gives
|
||
|
<emphasis>81.81...</emphasis> (45 is 81.81.. percent of 55)</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
</variablelist>
|
||
|
|
||
|
</sect1>
|
||
|
|
||
|
<sect1 id="lsh-rsh">
|
||
|
<title>Lsh and Inv Lsh</title>
|
||
|
<variablelist>
|
||
|
<varlistentry>
|
||
|
<term><guibutton>Lsh</guibutton> left shifts the integer part of the displayed
|
||
|
value (multiplies it by 2) n times, where n is the next input number, and
|
||
|
gives an integer result:</term>
|
||
|
<listitem><para><userinput>10 Lsh 3 =</userinput> gives <emphasis>80</emphasis>
|
||
|
(10 multiplied by 2 three times).</para>
|
||
|
<para><userinput>10.345 Lsh 3 =</userinput> also gives
|
||
|
<emphasis>80</emphasis>.</para></listitem>
|
||
|
</varlistentry>
|
||
|
|
||
|
<varlistentry>
|
||
|
<term><guibutton>Inv</guibutton> <guibutton>Lsh</guibutton> right shifts the
|
||
|
value (performs an integer divide by 2) n times.</term>
|
||
|
<listitem><para><userinput>16 Inv Lsh 2 =</userinput> gives
|
||
|
<emphasis>4</emphasis> (16 divided by 2 twice).</para>
|
||
|
<para><userinput>16.999 Inv Lsh 2 =</userinput> also gives
|
||
|
<emphasis>4</emphasis>.</para>
|
||
|
</listitem>
|
||
|
</varlistentry>
|
||
|
</variablelist>
|
||
|
|
||
|
</sect1>
|
||
|
|
||
|
<sect1 id="and-or-xor">
|
||
|
<title>Cmp, And, Or and Xor</title>
|
||
|
|
||
|
<para>The <guibutton>Cmp</guibutton>, <guibutton>And</guibutton> and
|
||
|
<guibutton>Or</guibutton> functions perform bitwise logical operations and
|
||
|
therefore appear more meaningful if the <guilabel>Base</guilabel> is set to
|
||
|
<guilabel>Hex</guilabel>, <guilabel>Oct</guilabel> or <guilabel>Bin</guilabel>
|
||
|
rather than <guilabel>Dec</guilabel>. In the following
|
||
|
examples <guilabel>Base</guilabel> is set to <guilabel>Bin</guilabel>.</para>
|
||
|
|
||
|
<variablelist>
|
||
|
<varlistentry>
|
||
|
<term><guibutton>Cmp</guibutton> performs a 1's complement (inverts the
|
||
|
bits).</term>
|
||
|
<listitem><para><userinput>101 Cmp</userinput> gives
|
||
|
<emphasis>111...111010</emphasis></para> </listitem>
|
||
|
</varlistentry>
|
||
|
|
||
|
<varlistentry>
|
||
|
<term><guibutton>And</guibutton> does a logical AND.</term>
|
||
|
<listitem><para><userinput>101 And 110 =</userinput> gives
|
||
|
<emphasis>100</emphasis></para> </listitem>
|
||
|
</varlistentry>
|
||
|
|
||
|
<varlistentry>
|
||
|
<term><guibutton>Or</guibutton> does the logical OR.</term>
|
||
|
<listitem><para><userinput>101 Or 110 =</userinput> gives
|
||
|
<emphasis>111</emphasis></para> </listitem>
|
||
|
</varlistentry>
|
||
|
|
||
|
<varlistentry>
|
||
|
<term><guibutton>Xor</guibutton> performs the logical
|
||
|
XOR (exclusive OR) operation.</term>
|
||
|
<listitem><para><userinput>101 Xor 110 =</userinput> gives
|
||
|
<emphasis>11</emphasis></para> </listitem>
|
||
|
</varlistentry>
|
||
|
|
||
|
</variablelist>
|
||
|
</sect1>
|
||
|
</chapter>
|
||
|
|
||
|
|
||
|
<chapter id="questions-and-answers">
|
||
|
<title>Questions and Answers</title>
|
||
|
|
||
|
<qandaset>
|
||
|
|
||
|
|
||
|
<qandaentry>
|
||
|
<question><para>How do I get e, the Euler number?</para></question>
|
||
|
<answer><para>Type <userinput>1 Inv Ln</userinput>.</para></answer>
|
||
|
</qandaentry>
|
||
|
|
||
|
<qandaentry>
|
||
|
<question><para>How do I get two fixed digits after the period?</para></question>
|
||
|
<answer><para>Click on the <guibutton>Configure</guibutton> button, this will
|
||
|
bring up the configuration dialog. Check <guilabel>Set fixed
|
||
|
precision</guilabel> and adjust the spin control so that it shows a
|
||
|
2.</para></answer> </qandaentry>
|
||
|
|
||
|
<qandaentry>
|
||
|
<question><para>What about Precision?</para></question>
|
||
|
<answer><para>The main factor determining the precision of &kcalc; is whether your libc and libmath
|
||
|
supports the C data type <type>long double</type>. If this is the case, &kcalc; will detect this
|
||
|
at compile time and use it as its fundamental data type to represent numbers.
|
||
|
</para>
|
||
|
|
||
|
<para>Adjust the <guilabel>Precision</guilabel> in &kcalc;'s
|
||
|
<guibutton>Configure</guibutton> dialog so that the above computations
|
||
|
work correctly. I recommend a precision of 14 if the fundamental data type
|
||
|
for your copy of &kcalc; is <type>long double</type>, otherwise 8 or 10.</para>
|
||
|
|
||
|
<para>Higher precision doesn't necessarily lead to better results. Play with
|
||
|
the precision and you will see what I mean.</para>
|
||
|
</answer>
|
||
|
</qandaentry>
|
||
|
|
||
|
</qandaset>
|
||
|
</chapter>
|
||
|
|
||
|
&commands;
|
||
|
|
||
|
<chapter id="copyright">
|
||
|
<title>Credits and License</title>
|
||
|
|
||
|
<para>&kcalc; Program Copyright ©:</para>
|
||
|
<para>Bernd Johannes Wuebben 1996-2000</para>
|
||
|
<para>The &kde; Team 2000-2004</para>
|
||
|
|
||
|
<itemizedlist>
|
||
|
<listitem><para>&Bernd.Johannes.Wuebben; &Bernd.Johannes.Wuebben.mail;</para></listitem>
|
||
|
<listitem><para>&Evan.Teran; &Evan.Teran.mail;</para></listitem>
|
||
|
<listitem><para>&Espen.Sand; &Espen.Sand.mail;</para></listitem>
|
||
|
<listitem><para>&Chris.Howells; &Chris.Howells.mail;</para></listitem>
|
||
|
<listitem><para>&Aaron.J.Seigo; &Aaron.J.Seigo.mail;</para></listitem>
|
||
|
<listitem><para>&Charles.Samuels; &Charles.Samuels.mail;</para></listitem>
|
||
|
</itemizedlist>
|
||
|
|
||
|
<para>&kcalc; was inspired by <personname><firstname>Martin</firstname> <surname>Bartlett</surname></personname>'s <application>xfrmcalc</application>,
|
||
|
whose stack engine is still part of &kcalc;.</para>
|
||
|
|
||
|
<para>Documentation Copyright © 2001,2002,2005, 2006:</para>
|
||
|
<itemizedlist>
|
||
|
<listitem><para>&Bernd.Johannes.Wuebben; &Bernd.Johannes.Wuebben.mail;</para></listitem>
|
||
|
<listitem><para>&Pamela.Roberts; &Pamela.Roberts.mail;</para></listitem>
|
||
|
<listitem><para>&J.Hall; &J.Hall.mail;</para></listitem>
|
||
|
<listitem><para>&Anne-Marie.Mahfouf;&Anne-Marie.Mahfouf.mail;</para></listitem>
|
||
|
</itemizedlist>
|
||
|
|
||
|
&underFDL;
|
||
|
&underGPL;
|
||
|
|
||
|
</chapter>
|
||
|
|
||
|
<appendix id="installation">
|
||
|
<title>Installation</title>
|
||
|
|
||
|
<para>&kcalc; is part of the kdeutils package within the &kde; project and will
|
||
|
normally be provided as part of a &kde; installation. For more details about
|
||
|
&kde; visit <ulink url="http://www.kde.org">http://www.kde.org</ulink>.</para>
|
||
|
|
||
|
<!--
|
||
|
<para>&kcalc;'s home site is <ulink
|
||
|
url="http://math.cornell.edu/~wuebben/kde.html">
|
||
|
http://math.cornell.edu/~wuebben/kde.html</ulink></para>
|
||
|
-->
|
||
|
|
||
|
<sect1 id="compilation-and-installation">
|
||
|
<title>Compilation and Installation</title>
|
||
|
|
||
|
&install.intro.documentation;
|
||
|
&install.compile.documentation;
|
||
|
|
||
|
</sect1>
|
||
|
|
||
|
<sect1 id="enable-long-double-precision">
|
||
|
<title>How to enable long double precision for &kcalc;</title>
|
||
|
|
||
|
<para>If your machine supports the C data type <type>long double</type>
|
||
|
and if you have a working libc you can enable <type>long double</type>
|
||
|
precision for &kcalc;.</para>
|
||
|
|
||
|
<para>Here is what to do:</para>
|
||
|
|
||
|
<procedure>
|
||
|
<step>
|
||
|
<para> Check <filename>../config.h</filename> and see whether
|
||
|
HAVE_LONG_DOUBLE is defined, &ie; you should be able to locate a
|
||
|
line saying:</para>
|
||
|
|
||
|
<screen>#define HAVE_LONG_DOUBLE 1</screen>
|
||
|
|
||
|
<para>If you can't find such a line your system doesn't support long
|
||
|
double IEEE precision. </para>
|
||
|
</step>
|
||
|
<step>
|
||
|
<para>Edit the files <filename class="headerfile">kcalctype.h</filename>,
|
||
|
<filename>configdlg.cpp</filename>, <filename>kcalc.cpp</filename> and
|
||
|
<filename>kcalc_core.cpp</filename> and remove the lines:</para>
|
||
|
|
||
|
<screen>
|
||
|
#ifdef HAVE_LONG_DOUBLE
|
||
|
#undef HAVE_LONG_DOUBLE
|
||
|
#endif
|
||
|
</screen>
|
||
|
|
||
|
</step>
|
||
|
<step>
|
||
|
<para> Recompile &kcalc;.
|
||
|
</para>
|
||
|
</step>
|
||
|
</procedure>
|
||
|
|
||
|
</sect1>
|
||
|
</appendix>
|
||
|
|
||
|
</book>
|
||
|
|
||
|
<!--
|
||
|
Local Variables:
|
||
|
mode: sgml
|
||
|
sgml-minimize-attributes:nil
|
||
|
sgml-general-insert-case:lower
|
||
|
sgml-indent-step:0
|
||
|
sgml-indent-data:nil
|
||
|
End:
|
||
|
-->
|