<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://sfsys.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A7%D0%B8%D1%81%D0%BB%D0%B0</id>
	<title>Числа - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://sfsys.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A7%D0%B8%D1%81%D0%BB%D0%B0"/>
	<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=%D0%A7%D0%B8%D1%81%D0%BB%D0%B0&amp;action=history"/>
	<updated>2026-04-04T09:57:32Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>http://sfsys.ru/index.php?title=%D0%A7%D0%B8%D1%81%D0%BB%D0%B0&amp;diff=4294&amp;oldid=prev</id>
		<title>Admin: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=%D0%A7%D0%B8%D1%81%D0%BB%D0%B0&amp;diff=4294&amp;oldid=prev"/>
		<updated>2022-03-13T10:11:28Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 10:11, 13 March 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://sfsys.ru/index.php?title=%D0%A7%D0%B8%D1%81%D0%BB%D0%B0&amp;diff=4293&amp;oldid=prev</id>
		<title>1&gt;Admin at 06:54, 23 December 2021</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=%D0%A7%D0%B8%D1%81%D0%BB%D0%B0&amp;diff=4293&amp;oldid=prev"/>
		<updated>2021-12-23T06:54:42Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 06:54, 23 December 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l6&quot; &gt;Line 6:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 6:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Целые числа используются для счетчиков циклов, индексов и размеров списков и таблиц и для любых других целей, где использование перечислимых значений более оправдано, чем использование вещественных. Целое число в системе может принимать диапазон значений от −9,223,372,036,854,775,808 до 9,223,372,036,854,775,807, оно представлено 64 битами и является аналогом Int64 в других системах программирования. Нужно заменить, что, для индексации списков и таблиц в системе, как и для многих других внутренних индексов и значений, используются только 32 битные целые числа (Int32).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Целые числа используются для счетчиков циклов, индексов и размеров списков и таблиц и для любых других целей, где использование перечислимых значений более оправдано, чем использование вещественных. Целое число в системе может принимать диапазон значений от −9,223,372,036,854,775,808 до 9,223,372,036,854,775,807, оно представлено 64 битами и является аналогом Int64 в других системах программирования. Нужно заменить, что, для индексации списков и таблиц в системе, как и для многих других внутренних индексов и значений, используются только 32 битные целые числа (Int32).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Вещественные числа являются более универсальным способом сохранять числовые данные. По умолчанию в системе используются x87 Extended числа. Каждое такое число представлено 80 битами в памяти и может содержать до 18 значащих цифр в мантиссе с диапазоном значений от -1.189731495357231765E+4932 до 1.189731495357231765E+4932 и может приближаться к нулю до значений (+/-)3.36210314311209351E-4932. При необходимости, система может быть перестроена (скомпилирована заново) для возможности работы вещественными числами очень большого разрешения (библиотеками MPIR и пр.), такой подход требуется в очень редких случаях и может замедлить работу системы при вычислениях с плавающей точкой. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Вещественные числа являются более универсальным способом сохранять числовые данные. По умолчанию в системе используются x87 Extended числа. Каждое такое число представлено 80 битами в памяти и может содержать до 18 значащих цифр в мантиссе с диапазоном значений от -1.189731495357231765E+4932 до 1.189731495357231765E+4932 и может приближаться к нулю до значений (+/-)3.36210314311209351E-4932. При необходимости, система может быть перестроена (скомпилирована заново) для возможности работы вещественными числами очень большого разрешения (библиотеками MPIR и пр.), такой подход требуется в очень редких случаях и может замедлить работу системы при вычислениях с плавающей точкой. &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** '''Важно.''' При работе с вещественными x87 числами необходимо понимать, что многие десятичные числа не могут быть точно представлены в двоичной логике. Это значит, что десятичное число 0.1 невозможно точно записать в бинарной нотации, так же, как, к примеру невозможно точно записать в десятичной нотации число, получающееся в результате вычисления 1/3 (0.33333333...). Такие числа будут записаны в памяти только ''примерно'' с некоторой степенью приближения. При работе с вещественными числами часто возникают ситуации, когда происходит большое количество сложений (сумма) или сложений с делениями, в этом случае, неточности представления каждого из чисел будут накапливаться и результат может содержать небольшую погрешность. Поэтому &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;нельзя сравнивать два &lt;/del&gt;вещественных &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;числа &lt;/del&gt;в системе, особенно, если хотя бы одно из них было получено в результате вычислений, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;без использования округлений до определенного знака. Число &lt;/del&gt;'''0.1''' полученное из запроса к данным БД и '''0.1''', получившееся в результате вычисления, могут отличаться на цифру в последнем разряде точности, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;поэтому &lt;/del&gt;при &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;проверке равно ли значение из БД вычисленному&lt;/del&gt;, необходимо &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;всегда знать&lt;/del&gt;, с &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;какой &lt;/del&gt;точностью &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;производить проверку &lt;/del&gt;(к примеру, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;для денежным значений&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;точность будет равна двум знакам после десятичной точки)&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Для округления до определенного знака используется функция '''&lt;/del&gt;[[&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Round&lt;/del&gt;]]&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;'''&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Если не соблюдать правил округления перед сравнением&lt;/del&gt;, можно &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;получить ошибки логики, возникающие на непостоянной основе&lt;/del&gt;.&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** '''Важно.''' При работе с вещественными x87 числами необходимо понимать, что многие десятичные числа не могут быть точно представлены в двоичной логике. Это значит, что десятичное число 0.1 невозможно точно записать в бинарной нотации, так же, как, к примеру невозможно точно записать в десятичной нотации число, получающееся в результате вычисления 1/3 (0.33333333...). Такие числа будут записаны в памяти только ''примерно'' с некоторой степенью приближения. При работе с вещественными числами часто возникают ситуации, когда происходит большое количество сложений (сумма) или сложений с делениями, в этом случае, неточности представления каждого из чисел будут накапливаться и результат может содержать небольшую погрешность. Поэтому &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;при сравнении двух &lt;/ins&gt;вещественных &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;чисел &lt;/ins&gt;в системе, особенно, если хотя бы одно из них было получено в результате вычислений, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;нужно понимать, что эти числа могут отличаться (к примеру, число &lt;/ins&gt;'''0.1''' полученное из запроса к данным БД и '''0.1''', получившееся в результате вычисления, могут отличаться на цифру в последнем разряде точности&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;). Нужно однако заметить, что по умолчанию, при сравнении система производит особое (граничное) округление вещественных чисел, чтобы избежать большинство ошибок логики, которые иначе могут возникать на непостоянной основе. Таким образом, число, близкое к определенному знаку после точки&lt;/ins&gt;, при &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;сравнении будет выступать, как округленное до этого знака число. К примеру, число &amp;lt;code&amp;gt;0.1+1E-14&amp;lt;/code&amp;gt; при сравнении будет просто числом ''0.1''. Любые вычисления, однако&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;будут использовать точное представление числа. Если &lt;/ins&gt;необходимо &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;проводить математически точное сравнение вещественных чисел&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;можно использовать функцию [[PreciseCompare]] и выводить их на экран &lt;/ins&gt;с &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;помощью функции [[NumberToStr]]. &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;** Также нужно обратить внимание на возможное накапливание неточности при сложении большого числа вещественных чисел с известной &lt;/ins&gt;точностью (к примеру, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;денежных номинаций&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;см&lt;/ins&gt;.&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, к примеру, описание функции &lt;/ins&gt;[[&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Tab.Sum&lt;/ins&gt;]]&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;), так как операции над числами всегда происходят с максимальной точностью&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Чтобы избежать этого&lt;/ins&gt;, можно &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;использовать функцию [[Round]] после каждого сложения&lt;/ins&gt;.&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;p&amp;gt;Превращение из целых чисел в вещественные происходит в системе автоматически. Если, к примеру, разделить целое число 2 на целое число 1, получится вещественное число 2. Обратное превращение происходит с использованием специальных функций (''Round'', ''Trunc'' и пр.).&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;p&amp;gt;Превращение из целых чисел в вещественные происходит в системе автоматически. Если, к примеру, разделить целое число 2 на целое число 1, получится вещественное число 2. Обратное превращение происходит с использованием специальных функций (''Round'', ''Trunc'' и пр.).&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Ниже даны функции, помогающие при работе с числами:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Ниже даны функции, помогающие при работе с числами:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l13&quot; &gt;Line 13:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 14:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Функции, превращающие строку в число: '''[[Number]]''', '''[[BaseToDec]]'''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Функции, превращающие строку в число: '''[[Number]]''', '''[[BaseToDec]]'''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Функции округления и усечения дробной части вещественных чисел: '''[[Round]]''', '''[[Trunc]]''', '''[[Floor]]''', '''[[Ceiling]]''', '''[[Frac]]'''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Функции округления и усечения дробной части вещественных чисел: '''[[Round]]''', '''[[Trunc]]''', '''[[Floor]]''', '''[[Ceiling]]''', '''[[Frac]]'''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Функции работы со знаками чисел: '''[[Abs]]''', '''[[Sign]]'''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Функции работы со знаками чисел: '''[[Abs]]''', '''[[Sign&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;]]''', '''[[PreciseSign]]''', '''[[PreciseCompare&lt;/ins&gt;]]'''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>1&gt;Admin</name></author>
		
	</entry>
	<entry>
		<id>http://sfsys.ru/index.php?title=%D0%A7%D0%B8%D1%81%D0%BB%D0%B0&amp;diff=3394&amp;oldid=prev</id>
		<title>Admin: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=%D0%A7%D0%B8%D1%81%D0%BB%D0%B0&amp;diff=3394&amp;oldid=prev"/>
		<updated>2021-02-07T06:56:00Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 06:56, 7 February 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://sfsys.ru/index.php?title=%D0%A7%D0%B8%D1%81%D0%BB%D0%B0&amp;diff=3393&amp;oldid=prev</id>
		<title>Admin at 10:05, 20 November 2020</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=%D0%A7%D0%B8%D1%81%D0%BB%D0%B0&amp;diff=3393&amp;oldid=prev"/>
		<updated>2020-11-20T10:05:49Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{HeadLinks|&lt;br /&gt;
* [[Main_Page|Начальная страница]]&lt;br /&gt;
* [[Общее_описание_языка|Общее описание]]&lt;br /&gt;
* [[Объекты]]}}&lt;br /&gt;
&amp;lt;p&amp;gt;Для оптимизации при вычислениях и обмене с внешними источниками данных, система использует числа двух форматов: целые (Integer) и вещественные (Real). Для разделителя целой и дробной части в вещественных числах система всегда (вне зависимости от установок операционной системы) использует десятичную точку ('''.'''), а не запятую. Если необходимо, при обмене с внешними источниками данных, указать запятую, как разделитель, программа должна предусмотреть подмену знаков в момент выгрузки числовых значений.&lt;br /&gt;
* Целые числа используются для счетчиков циклов, индексов и размеров списков и таблиц и для любых других целей, где использование перечислимых значений более оправдано, чем использование вещественных. Целое число в системе может принимать диапазон значений от −9,223,372,036,854,775,808 до 9,223,372,036,854,775,807, оно представлено 64 битами и является аналогом Int64 в других системах программирования. Нужно заменить, что, для индексации списков и таблиц в системе, как и для многих других внутренних индексов и значений, используются только 32 битные целые числа (Int32).&lt;br /&gt;
* Вещественные числа являются более универсальным способом сохранять числовые данные. По умолчанию в системе используются x87 Extended числа. Каждое такое число представлено 80 битами в памяти и может содержать до 18 значащих цифр в мантиссе с диапазоном значений от -1.189731495357231765E+4932 до 1.189731495357231765E+4932 и может приближаться к нулю до значений (+/-)3.36210314311209351E-4932. При необходимости, система может быть перестроена (скомпилирована заново) для возможности работы вещественными числами очень большого разрешения (библиотеками MPIR и пр.), такой подход требуется в очень редких случаях и может замедлить работу системы при вычислениях с плавающей точкой. &lt;br /&gt;
** '''Важно.''' При работе с вещественными x87 числами необходимо понимать, что многие десятичные числа не могут быть точно представлены в двоичной логике. Это значит, что десятичное число 0.1 невозможно точно записать в бинарной нотации, так же, как, к примеру невозможно точно записать в десятичной нотации число, получающееся в результате вычисления 1/3 (0.33333333...). Такие числа будут записаны в памяти только ''примерно'' с некоторой степенью приближения. При работе с вещественными числами часто возникают ситуации, когда происходит большое количество сложений (сумма) или сложений с делениями, в этом случае, неточности представления каждого из чисел будут накапливаться и результат может содержать небольшую погрешность. Поэтому нельзя сравнивать два вещественных числа в системе, особенно, если хотя бы одно из них было получено в результате вычислений, без использования округлений до определенного знака. Число '''0.1''' полученное из запроса к данным БД и '''0.1''', получившееся в результате вычисления, могут отличаться на цифру в последнем разряде точности, поэтому при проверке равно ли значение из БД вычисленному, необходимо всегда знать, с какой точностью производить проверку (к примеру, для денежным значений, точность будет равна двум знакам после десятичной точки). Для округления до определенного знака используется функция '''[[Round]]'''. Если не соблюдать правил округления перед сравнением, можно получить ошибки логики, возникающие на непостоянной основе.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Превращение из целых чисел в вещественные происходит в системе автоматически. Если, к примеру, разделить целое число 2 на целое число 1, получится вещественное число 2. Обратное превращение происходит с использованием специальных функций (''Round'', ''Trunc'' и пр.).&amp;lt;/p&amp;gt;&lt;br /&gt;
Ниже даны функции, помогающие при работе с числами:&lt;br /&gt;
* Функции, определяющие тип числа: '''[[NumeralTypeStr]]''', '''[[TypeNum]]'''&lt;br /&gt;
* Функции, превращающие число в строку: '''[[Str]]''', '''[[FormatNumber]]''', '''[[SpellNumber]]''', '''[[DecToBase]]''', '''[[NumberToStr]]'''&lt;br /&gt;
* Функции, превращающие строку в число: '''[[Number]]''', '''[[BaseToDec]]'''&lt;br /&gt;
* Функции округления и усечения дробной части вещественных чисел: '''[[Round]]''', '''[[Trunc]]''', '''[[Floor]]''', '''[[Ceiling]]''', '''[[Frac]]'''&lt;br /&gt;
* Функции работы со знаками чисел: '''[[Abs]]''', '''[[Sign]]'''&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
</feed>