<?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=CutBitsMask</id>
	<title>CutBitsMask - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://sfsys.ru/index.php?action=history&amp;feed=atom&amp;title=CutBitsMask"/>
	<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=CutBitsMask&amp;action=history"/>
	<updated>2026-04-04T11:39:05Z</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=CutBitsMask&amp;diff=332&amp;oldid=prev</id>
		<title>Admin: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=CutBitsMask&amp;diff=332&amp;oldid=prev"/>
		<updated>2021-02-07T06:43:16Z</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:43, 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=CutBitsMask&amp;diff=331&amp;oldid=prev</id>
		<title>Admin: /* Примеры */</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=CutBitsMask&amp;diff=331&amp;oldid=prev"/>
		<updated>2019-07-26T19:49:41Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Примеры&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{infobox function&lt;br /&gt;
|name=CutBitsMask&lt;br /&gt;
|caption=Функции работы с числами&lt;br /&gt;
|type=1&lt;br /&gt;
|status=2&lt;br /&gt;
|db=0&lt;br /&gt;
|exception=Аргумент не число, неверный диапазон&lt;br /&gt;
|visual=0}}&lt;br /&gt;
{{HeadLinks|&lt;br /&gt;
* [[Main_Page|Начальная страница]]&lt;br /&gt;
* [[Общее_описание_языка|Общее описание]]&lt;br /&gt;
* [[Математические функции]]}}&lt;br /&gt;
Функция получает результат выражения &amp;lt;code&amp;gt;pow(2,&amp;lt;Количество бит в маске&amp;gt;)-1&amp;lt;/code&amp;gt;, который является битовой маской для использования с операцией ''And'' для сохранения только &amp;lt;Количество бит в маске&amp;gt; бит в числе. Аргумент может принимать значения от 1 до 64 включительно. Вычисление степени не производится, функция использует внутреннюю таблицу для получения результата.&lt;br /&gt;
&lt;br /&gt;
== Синтаксис ==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
'''CutBitsMask'''(''&amp;lt;Количество бит в маске (INT)&amp;gt;''):''&amp;lt;Маска (INT)&amp;gt;''&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
==== Аргументы ====&lt;br /&gt;
* &amp;lt;code&amp;gt;''&amp;lt;Количество бит в маске (INT)&amp;gt;''&amp;lt;/code&amp;gt; - Число, показатель вычисляемой степени числа 2.&lt;br /&gt;
==== Возвращаемое значение ====&lt;br /&gt;
Результат функции всегда будет целым числом. В следующей таблице приведены все возможные значения функции в зависимости от аргумента.&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;border-collapse:collapse;font-size:80%;width=95%;&amp;quot;&lt;br /&gt;
! width=50|Значение аргумента&lt;br /&gt;
! width=150|Результат&lt;br /&gt;
|-&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''1'''&lt;br /&gt;
|'''1'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''2'''&lt;br /&gt;
|'''3'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''3'''&lt;br /&gt;
|'''7'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''4'''&lt;br /&gt;
|'''15'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''5'''&lt;br /&gt;
|'''31'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''6'''&lt;br /&gt;
|'''63'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''7'''&lt;br /&gt;
|'''127'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''8'''&lt;br /&gt;
|'''255'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''9'''&lt;br /&gt;
|'''511'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''10'''&lt;br /&gt;
|'''1023'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''11'''&lt;br /&gt;
|'''2047'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''12'''&lt;br /&gt;
|'''4095'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''13'''&lt;br /&gt;
|'''8191'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''14'''&lt;br /&gt;
|'''16383'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''15'''&lt;br /&gt;
|'''32767'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''16'''&lt;br /&gt;
|'''65535'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''17'''&lt;br /&gt;
|'''131071'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''18'''&lt;br /&gt;
|'''262143'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''19'''&lt;br /&gt;
|'''524287'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''20'''&lt;br /&gt;
|'''1048575'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''21'''&lt;br /&gt;
|'''2097151'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''22'''&lt;br /&gt;
|'''4194303'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''23'''&lt;br /&gt;
|'''8388607'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''24'''&lt;br /&gt;
|'''16777215'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''25'''&lt;br /&gt;
|'''33554431'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''26'''&lt;br /&gt;
|'''67108863'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''27'''&lt;br /&gt;
|'''134217727'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''28'''&lt;br /&gt;
|'''268435455'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''29'''&lt;br /&gt;
|'''536870911'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''30'''&lt;br /&gt;
|'''1073741823'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''31'''&lt;br /&gt;
|'''2147483647'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''32'''&lt;br /&gt;
|'''4294967295'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''33'''&lt;br /&gt;
|'''8589934591'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''34'''&lt;br /&gt;
|'''17179869183'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''35'''&lt;br /&gt;
|'''34359738367'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''36'''&lt;br /&gt;
|'''68719476735'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''37'''&lt;br /&gt;
|'''137438953471'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''38'''&lt;br /&gt;
|'''274877906943'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''39'''&lt;br /&gt;
|'''549755813887'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''40'''&lt;br /&gt;
|'''1099511627775'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''41'''&lt;br /&gt;
|'''2199023255551'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''42'''&lt;br /&gt;
|'''4398046511103'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''43'''&lt;br /&gt;
|'''8796093022207'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''44'''&lt;br /&gt;
|'''17592186044415'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''45'''&lt;br /&gt;
|'''35184372088831'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''46'''&lt;br /&gt;
|'''70368744177663'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''47'''&lt;br /&gt;
|'''140737488355327'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''48'''&lt;br /&gt;
|'''281474976710655'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''49'''&lt;br /&gt;
|'''562949953421311'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''50'''&lt;br /&gt;
|'''1125899906842623'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''51'''&lt;br /&gt;
|'''2251799813685247'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''52'''&lt;br /&gt;
|'''4503599627370495'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''53'''&lt;br /&gt;
|'''9007199254740991'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''54'''&lt;br /&gt;
|'''18014398509481983'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''55'''&lt;br /&gt;
|'''36028797018963967'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''56'''&lt;br /&gt;
|'''72057594037927935'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''57'''&lt;br /&gt;
|'''144115188075855871'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''58'''&lt;br /&gt;
|'''288230376151711743'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''59'''&lt;br /&gt;
|'''576460752303423487'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''60'''&lt;br /&gt;
|'''1152921504606846975'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''61'''&lt;br /&gt;
|'''2305843009213693951'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''62'''&lt;br /&gt;
|'''4611686018427387903'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''63'''&lt;br /&gt;
|'''9223372036854775807'''&lt;br /&gt;
|-align=&amp;quot;left&amp;quot;&lt;br /&gt;
|'''64'''&lt;br /&gt;
|'''-1'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Примеры ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//Параметры вычисления CRC с любым основанием с параметрами, типа значение инициализации и пр., используемыми вне функции. См. описании функции CalculateHash:&lt;br /&gt;
//Основание CRC&lt;br /&gt;
Бит:=8;&lt;br /&gt;
//Полином CRC (16-ричная нотация)&lt;br /&gt;
Поли:=&amp;quot;7&amp;quot;;&lt;br /&gt;
//Данные для вычисления CRC&lt;br /&gt;
Данные:=&amp;quot;1234567890&amp;quot;;&lt;br /&gt;
//Инициализация вычисления CRC (начальное значение)&lt;br /&gt;
Инит:=CutBitsMask(Бит);&lt;br /&gt;
//В конце вычисления будет выполнена операция XOR с данным числом&lt;br /&gt;
Конец:=CutBitsMask(Бит);&lt;br /&gt;
&lt;br /&gt;
//Создаем промежуточный результат из пустой строки. В буфере, представляющем результат по смещению 2048, хранится промежуточное значение вычисления, &lt;br /&gt;
//  которое было инициализировано числом -1, мы можем заменить его на требуемое.&lt;br /&gt;
buf:=CalculateHash(&amp;quot;&amp;quot;,&amp;quot;CRC&amp;quot;+Бит,0,,Поли);&lt;br /&gt;
buf.SetQWord(2048,Инит);&lt;br /&gt;
//После этого промежуточный результат можно использовать для вычисления реальных данных:&lt;br /&gt;
Рез:=CalculateHash(Данные,&amp;quot;CRC&amp;quot;+Бит,1,buf);&lt;br /&gt;
//Выполняем последнюю операцию XOR на результате&lt;br /&gt;
Рез:=DecToBase(BaseToDec(Рез,16) Xor ((Конец Xor CutBitsMask(Бит))And(CutBitsMask(Бит))),-16);&lt;br /&gt;
//Будет выведен результат: &amp;quot;57&amp;quot;&lt;br /&gt;
Message(&amp;quot;Результат: &amp;quot;+Рез);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
</feed>