pascalabcnet/PABCNetHelp/LangGuide/Operations_Expressions/arithmop.html
miks1965 0613eaf452 bug fix #1026
f.ReadWord
f.Print
2018-08-07 19:21:09 +03:00

262 lines
8.4 KiB
HTML

<html><head>
<object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
<param name="Keyword" value="div">
<param name="Keyword" value="mod">
</object>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title></title>
<link rel="StyleSheet" href="../../default.css">
<style type="text/css">
.auto-style1 {
text-align: center;
}
</style>
</head>
<body><H1>Àðèôìåòè÷åñêèå îïåðàöèè</H1>
<p>Ê <i>àðèôìåòè÷åñêèì</i> îòíîñÿòñÿ áèíàðíûå îïåðàöèè
<code>+</code>, <code>-</code>,
<code>*</code>, <code>/</code> äëÿ âåùåñòâåííûõ è öåëûõ ÷èñåë, áèíàðíûå îïåðàöèè
<b><code>div</code></b> è <b><code>mod</code></b> äëÿ öåëûõ ÷èñåë è óíàðíûå îïåðàöèè
<code>+</code> è <code>-</code> äëÿ âåùåñòâåííûõ è öåëûõ ÷èñåë. Òèï âûðàæåíèÿ
<code>x</code> <i>op</i> <code>y</code>, ãäå
<i>op</i> - çíàê áèíàðíîé îïåðàöèè
<code>+</code>,&nbsp; <code>-</code> èëè <code>*</code>,
îïðåäåëÿåòñÿ èç ñëåäóþùåé òàáëèöû: </p>
<p>&nbsp;</p>
<table border="1" width="100%" id="table1">
<tr>
<td>&nbsp;</td>
<td><b><code>shortint</code></b></td>
<td><b><code>byte</code></b></td>
<td><b><code>smallint</code></b></td>
<td><b><code>word</code></b></td>
<td><b><code>integer</code></b></td>
<td><b><code>longword</code></b></td>
<td><b><code>int64</code></b></td>
<td><b><code>uint64</code></b></td>
<td><b><code>BigInteger</code></b></td>
<td><b><code>single</code></b></td>
<td><b><code>real</code></b></td>
<td><b><code>decimal</code></b></td>
</tr>
<tr>
<td><b><code>shortint</code></b></td>
<td><code>integer</code></td>
<td><code>integer</code></td>
<td><code>integer</code></td>
<td><code>integer</code></td>
<td><code>integer</code></td>
<td><code>int64</code></td>
<td><code>int64</code></td>
<td><code>uint64</code></td>
<td><code>BigInteger</code></td>
<td><code>single</code></td>
<td><code>real</code></td>
<td><code>decimal</code></td>
</tr>
<tr>
<td><b><code>byte</code></b></td>
<td><code>integer</code></td>
<td><code>integer</code></td>
<td><code>integer</code></td>
<td><code>integer</code></td>
<td><code>integer</code></td>
<td><code>longword</code></td>
<td><code>int64</code></td>
<td><code>uint64</code></td>
<td><code>BigInteger</code></td>
<td><code>single</code></td>
<td><code>real</code></td>
<td><code>decimal</code></td>
</tr>
<tr>
<td><b><code>smallint</code></b></td>
<td><code>integer</code></td>
<td><code>integer</code></td>
<td><code>integer</code></td>
<td><code>integer</code></td>
<td><code>integer</code></td>
<td><code>int64</code></td>
<td><code>int64</code></td>
<td><code>uint64</code></td>
<td><code>BigInteger</code></td>
<td><code>single</code></td>
<td><code>real</code></td>
<td><code>decimal</code></td>
</tr>
<tr>
<td><b><code>word</code></b></td>
<td><code>integer</code></td>
<td><code>integer</code></td>
<td><code>integer</code></td>
<td><code>integer</code></td>
<td><code>integer</code></td>
<td><code>longword</code></td>
<td><code>int64</code></td>
<td><code>uint64</code></td>
<td><code>BigInteger</code></td>
<td><code>single</code></td>
<td><code>real</code></td>
<td><code>decimal</code></td>
</tr>
<tr>
<td><b><code>integer</code></b></td>
<td><code>integer</code></td>
<td><code>integer</code></td>
<td><code>integer</code></td>
<td><code>integer</code></td>
<td><code>integer</code></td>
<td><code>int64</code></td>
<td><code>int64</code></td>
<td><code>uint64</code></td>
<td><code>BigInteger</code></td>
<td><code>single</code></td>
<td><code>real</code></td>
<td><code>decimal</code></td>
</tr>
<tr>
<td><b><code>longword</code></b></td>
<td><code>int64</code></td>
<td><code>longword</code></td>
<td><code>int64</code></td>
<td><code>longword</code></td>
<td><code>int64</code></td>
<td><code>longword</code></td>
<td><code>uint64</code></td>
<td><code>uint64</code></td>
<td><code>BigInteger</code></td>
<td><code>single</code></td>
<td><code>real</code></td>
<td><code>decimal</code></td>
</tr>
<tr>
<td><b><code>int64</code></b></td>
<td><code>int64</code></td>
<td><code>int64</code></td>
<td><code>int64</code></td>
<td><code>int64</code></td>
<td><code>int64</code></td>
<td><code>uint64</code></td>
<td><code>int64</code></td>
<td><code>uint64</code></td>
<td><code>BigInteger</code></td>
<td><code>single</code></td>
<td><code>real</code></td>
<td><code>decimal</code></td>
</tr>
<tr>
<td><b><code>uint64</code></b></td>
<td><code>uint64</code></td>
<td><code>uint64</code></td>
<td><code>uint64</code></td>
<td><code>uint64</code></td>
<td><code>uint64</code></td>
<td><code>uint64</code></td>
<td><code>uint64</code></td>
<td><code>uint64</code></td>
<td><code>BigInteger</code></td>
<td><code>single</code></td>
<td><code>real</code></td>
<td><code>decimal</code></td>
</tr>
<tr>
<td><b><code>BigInteger</code></b></td>
<td><code>BigInteger</code></td>
<td><code>BigInteger</code></td>
<td><code>BigInteger</code></td>
<td><code>BigInteger</code></td>
<td><code>BigInteger</code></td>
<td><code>BigInteger</code></td>
<td><code>BigInteger</code></td>
<td><code>BigInteger</code></td>
<td><code>BigInteger</code></td>
<td class="auto-style1">
<code>-</code></td>
<td class="auto-style1">
<code>-</code></td>
<td class="auto-style1">
<code>-</code></td>
</tr>
<tr>
<td><b><code>single</code></b></td>
<td><code>single</code></td>
<td><code>single</code></td>
<td><code>single</code></td>
<td><code>single</code></td>
<td><code>single</code></td>
<td><code>single</code></td>
<td><code>single</code></td>
<td><code>single</code></td>
<td class="auto-style1">
<code>-</code></td>
<td><code>single</code></td>
<td><code>real</code></td>
<td class="auto-style1">
<code>-</code></td>
</tr>
<tr>
<td><b><code>real</code></b></td>
<td><code>real</code></td>
<td><code>real</code></td>
<td><code>real</code></td>
<td><code>real</code></td>
<td><code>real</code></td>
<td><code>real</code></td>
<td><code>real</code></td>
<td><code>real</code></td>
<td class="auto-style1">
<code>-</code></td>
<td><code>real</code></td>
<td><code>real</code></td>
<td class="auto-style1">
<code>-</code></td>
</tr>
<tr>
<td><b><code>decimal</code></b></td>
<td><code>decimal</code></td>
<td><code>decimal</code></td>
<td><code>decimal</code></td>
<td><code>decimal</code></td>
<td><code>decimal</code></td>
<td><code>decimal</code></td>
<td><code>decimal</code></td>
<td><code>decimal</code></td>
<td class="auto-style1">
<code>-</code></td>
<td class="auto-style1">
<code>-</code></td>
<td>
<code>-</code></td>
<td><code>decimal</code></td>
</tr>
</table>
<p>Òî åñòü, åñëè îïåðàíäû - öåëûå, òî ðåçóëüòàòîì ÿâëÿåòñÿ ñàìûé êîðîòêèé öåëûé
òèï, òðåáóåìûé äëÿ ïðåäñòàâëåíèÿ âñåõ ïîëó÷àåìûõ çíà÷åíèé. </p>
<p>Ïðè âûïîëíåíèè áèíàðíîé îïåðàöèè ñ <code>uint64</code>
è çíàêîâûì öåëûì ðåçóëüòèðóþùèì òèïîì áóäåò <code>uint64</code>,
ïðè ýòîì ìîæåò ïðîèçîéòè ïåðåïîëíåíèå, íå âûçûâàþùåå èñêëþ÷åíèÿ.</p>
<p>Äëÿ îïåðàöèè <code>/</code> äàííàÿ òàáëèöà èñïðàâëÿåòñÿ ñëåäóþùèì îáðàçîì:
ðåçóëüòàò äåëåíèÿ ëþáîãî öåëîãî íà öåëîå èìååò òèï <code>real</code>.</p>
<p>Äëÿ îïåðàöèé <b><code>div</code></b> è <b><code>mod</code></b> âûïîëíÿþòñÿ ýòè æå ïðàâèëà, íî îïåðàíäû ìîãóò áûòü òîëüêî öåëûìè. Ïðàâèëà
âû÷èñëåíèÿ îïåðàöèé <b><code>div</code></b> è <b>
<code>mod</code></b> - ñëåäóþùèå: </p>
<blockquote>
<p><code>x <b>div</b> y</code> - ðåçóëüòàò
öåëî÷èñëåííîãî äåëåíèÿ <code>x</code> íà <code>y</code>.
Òî÷íåå, <code>x <b>div</b> y = x / y</code>,
îêðóãëåííîå äî áëèæàéøåãî öåëîãî ïî íàïðàâëåíèþ ê 0;<code><br>
x <b>mod</b> y</code> - îñòàòîê îò öåëî÷èñëåííîãî
äåëåíèÿ <code>x</code> íà <code>y</code>. Òî÷íåå,
<code>x <b>mod</b> y = x - (x <b>div</b> y) * y</code>.</p>
</blockquote>
<p>Óíàðíàÿ àðèôìåòè÷åñêàÿ îïåðàöèÿ
<code>+</code> äëÿ ëþáîãî öåëîãî òèïà âîçâðàùàåò ýòîò òèï. Óíàðíàÿ
àðèôìåòè÷åñêàÿ îïåðàöèÿ <code>-</code> âîçâðàùàåò äëÿ öåëûõ òèïîâ, ìåíüøèõ èëè
ðàâíûõ <code>integer</code>, çíà÷åíèå òèïà <code>integer</code>, äëÿ <code>
longword</code> è <code>int64</code>
- çíà÷åíèå òèïà <code>int64</code>, ê <code>uint64</code> óíàðíàÿ îïåðàöèÿ - íå ïðèìåíèìà, äëÿ òèïîâ <code>single</code> è <code>real</code> - ñîîòâåòñòâåííî òèïû <code>
single</code> è <code>real</code>. Òî åñòü òàê æå
ðåçóëüòàòîì ÿâëÿåòñÿ ñàìûé êîðîòêèé òèï, òðåáóåìûé äëÿ ïðåäñòàâëåíèÿ âñåõ
ïîëó÷àåìûõ çíà÷åíèé.</p>
</body></html>