{"id":494270,"date":"2026-09-10T14:45:48","date_gmt":"2026-09-10T14:45:48","guid":{"rendered":"https:\/\/savepearlharbor.com\/?p=494270"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=494270","title":{"rendered":"\u0410 \u0447\u0451, \u0442\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e? int == -int"},"content":{"rendered":"<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0415\u0441\u0442\u044c \u0447\u0438\u0441\u043b\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043d\u0435 \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043e\u0442 \u0441\u043c\u0435\u043d\u044b \u0437\u043d\u0430\u043a\u0430. \u041c\u0438\u043d\u0443\u0441 \u043f\u0435\u0440\u0435\u0434 \u043d\u0438\u043c \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0434\u0435\u043b\u0430\u0435\u0442, \u0430 \u043c\u043e\u0434\u0443\u043b\u044f \u0443 \u043d\u0435\u0433\u043e \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442: Math.Abs \u0431\u0440\u043e\u0441\u0430\u0435\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435.<\/p>\n<p>\u042d\u0442\u043e int.MinValue. \u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0442\u0430\u043a\u0443\u044e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u043d\u0435 \u0441\u043e\u0431\u0435\u0440\u0451\u0442, \u043d\u043e int.MinValue == unchecked(-int.MinValue) \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 true.\u00a0<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>\u041c\u0430\u0448\u0438\u043d\u0430<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"center\"><strong>\u041f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"center\"><strong>\u0421\u0438\u0441\u0442\u0435\u043c\u0430<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041a\u043e\u043c\u043f 1<\/p>\n<\/td>\n<td>\n<p align=\"center\">Intel Core i9-10900KF 3.70GHz, 10   \u044f\u0434\u0435\u0440<\/p>\n<\/td>\n<td>\n<p align=\"center\">Windows 10 22H2<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041a\u043e\u043c\u043f 2<\/p>\n<\/td>\n<td>\n<p align=\"center\">AMD Ryzen 9 5950X 3.39GHz, 16 \u044f\u0434\u0435\u0440<\/p>\n<\/td>\n<td>\n<p align=\"center\">Windows 10 1809<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041a\u043e\u043c\u043f 3<\/p>\n<\/td>\n<td>\n<p align=\"center\">Intel Xeon W-2255 3.70GHz, 10 \u044f\u0434\u0435\u0440<\/p>\n<\/td>\n<td>\n<p align=\"center\">Windows Server 2022<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u041a\u043e\u043c\u043f 4<\/p>\n<\/td>\n<td>\n<p align=\"center\">Intel Xeon Silver 4314 2.40GHz, 2   CPU, 32 \u044f\u0434\u0440\u0430<\/p>\n<\/td>\n<td>\n<p align=\"center\">Windows Server 2022<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><em>\u0412\u0441\u0435 \u043c\u0430\u0448\u0438\u043d\u044b x64<\/em><\/p>\n<p>\u0420\u0430\u043d\u0442\u0430\u0439\u043c\u044b .NET 8, 9 \u0438 10 \u2014 \u0432\u0441\u0435 \u0442\u0440\u0438 \u0432 \u043e\u0434\u043d\u043e\u043c \u0437\u0430\u043f\u0443\u0441\u043a\u0435 <a href=\"https:\/\/benchmarkdotnet.org\/\" rel=\"noopener nofollow\">BenchmarkDotNet<\/a> 0.15.8. \u0427\u0438\u0441\u043b\u0430 \u0432 \u0442\u0435\u043a\u0441\u0442\u0435 \u0441 AMD Ryzen 9 5950X, \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043f\u043e \u0432\u0441\u0435\u043c \u0447\u0435\u0442\u044b\u0440\u0451\u043c \u043c\u0430\u0448\u0438\u043d\u0430\u043c.<\/p>\n<h3>1. \u0427\u0438\u0441\u043b\u043e, \u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0435\u0442 \u043c\u043e\u0434\u0443\u043b\u044f<\/h3>\n<h4>\u0418\u0441\u0445\u043e\u0434\u043d\u0438\u043a<\/h4>\n<p>\u041e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b \u0432 int \u043d\u0430 \u043e\u0434\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u0435, \u0447\u0435\u043c \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445: \u043e\u0442 \u22122 147 483 648 \u0434\u043e 2 147 483 647. \u0423 \u043d\u0438\u0436\u043d\u0435\u0439 \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u043d\u0435\u0442 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043f\u0430\u0440\u044b, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u043c\u0435\u043d\u0430 \u0437\u043d\u0430\u043a\u0430 \u0435\u0451 \u043d\u0435 \u043c\u0435\u043d\u044f\u0435\u0442.<\/p>\n<pre><code class=\"cs\">int min = int.MinValue; Console.WriteLine(min);              \/\/ -2147483648Console.WriteLine(-min);             \/\/ -2147483648Console.WriteLine(min == -min);      \/\/ True<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:87px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u0447\u043d\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c \u043e\u0431 \u044d\u0442\u043e\u043c \u0437\u043d\u0430\u0435\u0442. \u0412\u043e\u0442 <a href=\"https:\/\/github.com\/dotnet\/runtime\/blob\/60629d14374c56f1cb51819049ad1fa529307f8d\/src\/libraries\/System.Private.CoreLib\/src\/System\/Math.cs#L62\" rel=\"noopener nofollow\">\u043a\u0430\u043a \u043e\u043d \u043d\u0430\u043f\u0438\u0441\u0430\u043d<\/a>:<\/p>\n<pre><code class=\"cs\">public static int Abs(int value){    if (value &lt; 0)    {        value = -value;        if (value &lt; 0)        {            ThrowNegateTwosCompOverflow();        }    }    return value;}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0427\u0438\u0441\u043b\u043e \u043c\u0435\u043d\u044f\u0435\u0442 \u0437\u043d\u0430\u043a, \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e. \u0415\u0441\u043b\u0438 \u043f\u043e\u0441\u043b\u0435 \u0441\u043c\u0435\u043d\u044b \u0437\u043d\u0430\u043a\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043e\u0441\u0442\u0430\u043b\u0441\u044f \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c, \u043c\u043e\u0434\u0443\u043b\u044f \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0438 \u043c\u0435\u0442\u043e\u0434 \u0431\u0440\u043e\u0441\u0430\u0435\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435.<\/p>\n<h4>\u0427\u0442\u043e \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u043e\u0442\u0447\u0451\u0442<\/h4>\n<pre><code class=\"cs\">  \u0442\u0438\u043f           \u0441\u0430\u043c\u043e\u0435 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u043e\u0435          -x \u0440\u0430\u0432\u0435\u043d x   \u043c\u043e\u0434\u0443\u043b\u044c        x \/ -1   sbyte                          -128          \u0434\u0430    \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435          -128  short                        -32768          \u0434\u0430    \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435        -32768  int                     -2147483648          \u0434\u0430    \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435    \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435  long           -9223372036854775808          \u0434\u0430    \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435    \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435  nint           -9223372036854775808          \u0434\u0430    \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435    \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e \u043d\u0430 \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u043c\u0430\u0448\u0438\u043d\u0430\u0445 \u0438 \u0442\u0440\u0451\u0445 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0430\u0445.<\/p>\n<h4>\u041f\u0440\u0438\u0447\u0438\u043d\u0430<\/h4>\n<p>\u041e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u0430 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u043c \u043a\u043e\u0434\u0435. \u0421\u0442\u0430\u0440\u0448\u0438\u0439 \u0431\u0438\u0442 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0437\u043d\u0430\u043a, \u0430 \u0441\u043c\u0435\u043d\u0430 \u0437\u043d\u0430\u043a\u0430 \u2014 \u044d\u0442\u043e \u0438\u043d\u0432\u0435\u0440\u0441\u0438\u044f \u0432\u0441\u0435\u0445 \u0431\u0438\u0442\u043e\u0432 \u043f\u043b\u044e\u0441 \u0435\u0434\u0438\u043d\u0438\u0446\u0430.<\/p>\n<p>\u0423 \u043d\u0438\u0436\u043d\u0435\u0439 \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u0432\u0441\u0435 \u0431\u0438\u0442\u044b, \u043a\u0440\u043e\u043c\u0435 \u0441\u0442\u0430\u0440\u0448\u0435\u0433\u043e, \u043d\u0443\u043b\u0435\u0432\u044b\u0435. \u0418\u043d\u0432\u0435\u0440\u0441\u0438\u044f \u0441\u0442\u0430\u0432\u0438\u0442 \u0435\u0434\u0438\u043d\u0438\u0446\u044b \u0432\u043e \u0432\u0441\u0435\u0445 \u0440\u0430\u0437\u0440\u044f\u0434\u0430\u0445, \u043f\u0440\u0438\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0435\u0434\u0438\u043d\u0438\u0446\u044b \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442 \u0440\u0430\u0437\u0440\u044f\u0434\u044b \u0434\u043e \u043a\u043e\u043d\u0446\u0430, \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e.<\/p>\n<h4>\u0413\u0434\u0435 \u043b\u0435\u0433\u043a\u043e \u043e\u0448\u0438\u0431\u0438\u0442\u044c\u0441\u044f<\/h4>\n<p>\u041d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0432\u043e\u0439 \u043c\u043e\u0434\u0443\u043b\u044c \u0438 \u0440\u0435\u0448\u0438\u0442\u044c, \u0447\u0442\u043e \u043e\u043d \u043b\u0443\u0447\u0448\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u0447\u043d\u043e\u0433\u043e:<\/p>\n<pre><code class=\"cs\">int Abs(int value) =&gt; value &lt; 0 ? -value : value;<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0422\u0443\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043d\u0435\u0442, \u0437\u0430\u0442\u043e \u043d\u0430 \u043d\u0438\u0436\u043d\u0435\u0439 \u0433\u0440\u0430\u043d\u0438\u0446\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c. \u041c\u043e\u0434\u0443\u043b\u044c \u0447\u0438\u0441\u043b\u0430 \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u0435\u043d, \u0438 \u0441 \u044d\u0442\u0438\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432\u0435\u0441\u044c \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0439 \u043a\u043e\u0434.<\/p>\n<p>\u041d\u0430 sbyte \u0438 short \u043e\u0448\u0438\u0431\u0438\u0442\u044c\u0441\u044f \u0435\u0449\u0451 \u043b\u0435\u0433\u0447\u0435. \u0421\u043c\u0435\u043d\u0430 \u0437\u043d\u0430\u043a\u0430 \u0432\u0435\u0434\u0451\u0442 \u0441\u0435\u0431\u044f \u0442\u0430\u043c \u0442\u043e\u0447\u043d\u043e \u0442\u0430\u043a \u0436\u0435, \u043d\u043e \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c \u044d\u0442\u043e \u0442\u0440\u0443\u0434\u043d\u0435\u0435: \u043f\u0435\u0440\u0435\u0434 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435\u043c \u043e\u0431\u0430 \u0442\u0438\u043f\u0430 \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u044e\u0442\u0441\u044f \u0434\u043e int, \u0433\u0434\u0435 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0443\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d.<\/p>\n<h3>2. \u0414\u0435\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u043c\u0438\u043d\u0443\u0441 \u0435\u0434\u0438\u043d\u0438\u0446\u0443<\/h3>\n<h4>\u0418\u0441\u0445\u043e\u0434\u043d\u0438\u043a<\/h4>\n<p>\u041e\u0431\u044b\u0447\u043d\u043e\u0435 \u0434\u0435\u043b\u0435\u043d\u0438\u0435, \u043d\u0438\u0447\u0435\u0433\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0433\u043e:<\/p>\n<pre><code class=\"cs\">int left = int.MinValue;int right = -1; int result = left \/ right;   \/\/ System.OverflowException<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<h4>\u0427\u0442\u043e \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u043e\u0442\u0447\u0451\u0442<\/h4>\n<p>\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0441\u0442\u043e\u043b\u0431\u0435\u0446 \u0442\u043e\u0439 \u0436\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b:<\/p>\n<pre><code class=\"cs\">  \u0442\u0438\u043f           \u0441\u0430\u043c\u043e\u0435 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u043e\u0435          -x \u0440\u0430\u0432\u0435\u043d x   \u043c\u043e\u0434\u0443\u043b\u044c        x \/ -1   sbyte                          -128          \u0434\u0430    \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435          -128  short                        -32768          \u0434\u0430    \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435        -32768  int                     -2147483648          \u0434\u0430    \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435    \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435  long           -9223372036854775808          \u0434\u0430    \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435    \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435  nint           -9223372036854775808          \u0434\u0430    \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435    \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0423 <code>int<\/code>, <code>long<\/code> \u0438 <code>nint<\/code> \u2014 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435. \u0423 <code>sbyte<\/code> \u0438 <code>short<\/code> \u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442, \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u044b\u0439.<\/p>\n<h4>\u041f\u0440\u0438\u0447\u0438\u043d\u0430<\/h4>\n<p>\u041f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u043e\u0442\u0432\u0435\u0442 \u0440\u0430\u0432\u0435\u043d 2 147 483 648, \u0430 \u0442\u0430\u043a\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u0432 int \u043d\u0435\u0442. \u0414\u0435\u043b\u0435\u043d\u0438\u0435 \u0432 \u044d\u0442\u043e\u043c \u0441\u043c\u044b\u0441\u043b\u0435 \u043d\u0438\u0447\u0435\u043c \u043d\u0435 \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 \u0441\u043c\u0435\u043d\u044b \u0437\u043d\u0430\u043a\u0430.<\/p>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0434\u0435\u043b\u0430\u0435\u0442 \u043d\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430, \u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440. \u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u0446\u0435\u043b\u043e\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043d\u0430 x86 \u0441\u0430\u043c\u0430 \u0441\u043e\u043e\u0431\u0449\u0430\u0435\u0442 \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0435, \u043a\u043e\u0433\u0434\u0430 \u0447\u0430\u0441\u0442\u043d\u043e\u0435 \u043d\u0435 \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442\u0441\u044f \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440. \u0420\u0430\u043d\u0442\u0430\u0439\u043c \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u044d\u0442\u043e \u0432 OverflowException.<\/p>\n<p>\u0418\u043c\u0435\u043d\u043d\u043e \u043f\u043e\u044d\u0442\u043e\u043c\u0443 sbyte \u0438 short \u043d\u0435 \u043f\u0430\u0434\u0430\u044e\u0442: \u043f\u0435\u0440\u0435\u0434 \u0434\u0435\u043b\u0435\u043d\u0438\u0435\u043c \u043e\u043d\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u044e\u0442\u0441\u044f \u0434\u043e int, \u0433\u0434\u0435 128 \u0438 32 768 \u0443\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e.<\/p>\n<h4>\u0413\u0434\u0435 \u043b\u0435\u0433\u043a\u043e \u043e\u0448\u0438\u0431\u0438\u0442\u044c\u0441\u044f<\/h4>\n<p>\u0421\u0447\u0438\u0442\u0430\u0442\u044c, \u0447\u0442\u043e \u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043d\u0435 \u0431\u0440\u043e\u0441\u0430\u0435\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439, \u0440\u0430\u0437 \u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c \u043d\u0435 \u043d\u0443\u043b\u0435\u0432\u043e\u0439. \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 if (right != 0) \u043e\u0442 \u044d\u0442\u043e\u0433\u043e \u0441\u043b\u0443\u0447\u0430\u044f \u043d\u0435 \u0441\u043f\u0430\u0441\u0430\u0435\u0442.<\/p>\n<p>\u041e\u0441\u0442\u0430\u0442\u043e\u043a \u0432\u0435\u0434\u0451\u0442 \u0441\u0435\u0431\u044f \u0442\u0430\u043a \u0436\u0435: int.MinValue % -1 \u0442\u043e\u0436\u0435 \u0431\u0440\u043e\u0441\u0430\u0435\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435, \u0445\u043e\u0442\u044f \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043e\u0441\u0442\u0430\u0442\u043e\u043a \u0442\u0443\u0442 \u0440\u0430\u0432\u0435\u043d \u043d\u0443\u043b\u044e.<\/p>\n<h3>3. \u0414\u0432\u0430 \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434\u0430 \u043f\u043b\u044e\u0441 \u0434\u0432\u0430 \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434\u0430<\/h3>\n<h4>\u0418\u0441\u0445\u043e\u0434\u043d\u0438\u043a<\/h4>\n<pre><code class=\"cs\">int big = 2_000_000_000;int sum = big + big; Console.WriteLine(sum);   \/\/ -294967296<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041d\u0438 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f, \u043d\u0438 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u044f. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e C# \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 \u043d\u0435\u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c\u043e\u043c \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u0442\u0430\u0440\u0448\u0438\u0435 \u0431\u0438\u0442\u044b \u043e\u0442\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f.<\/p>\n<p>\u0410 \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u043d\u0430 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0430\u0445 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u043d\u0435 \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442:<\/p>\n<pre><code class=\"cs\">const int big = 2_000_000_000;int sum = checked(big + big); \/\/ error CS0220: The operation overflows at compile time in checked mode<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b \u043f\u0440\u0438 \u0441\u0431\u043e\u0440\u043a\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0437\u0430\u0440\u0430\u043d\u0435\u0435. \u042d\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u0441 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u043e\u0439 \u043d\u0430 \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435, \u043f\u043e\u0442\u043e\u043c\u0443 \u0438 \u043f\u0430\u0434\u0430\u0435\u0442 \u043e\u0448\u0438\u0431\u043a\u0430.<\/p>\n<p>\u0421 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438 \u0442\u0430\u043a\u043e\u0435 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e: \u0438\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u044f\u0432\u044f\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043a\u043e\u0434 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f, \u0430 \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u043d\u0435\u0437\u0430\u043c\u0435\u0447\u0435\u043d\u043d\u044b\u043c.<\/p>\n<h4>\u0427\u0442\u043e \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0437\u0430\u043c\u0435\u0440<\/h4>\n<p>\u0426\u0438\u043a\u043b \u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442 10 000 \u0447\u0438\u0441\u0435\u043b. \u041d\u0430\u0431\u043e\u0440 \u043f\u043e\u0434\u043e\u0431\u0440\u0430\u043d \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u0441\u0443\u043c\u043c\u0430 \u0443\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u043b\u0430\u0441\u044c \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d: \u0438\u043d\u0430\u0447\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0441 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u043e\u0439 \u0431\u0440\u043e\u0441\u0430\u0435\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435, \u0438 \u0437\u0430\u043c\u0435\u0440 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0443 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438, \u0430 \u0440\u0430\u0431\u043e\u0442\u0443 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u043e\u0448\u0438\u0431\u043a\u0438.<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td>\n<p align=\"left\"><strong>\u0421\u043f\u043e\u0441\u043e\u0431<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"center\"><strong>\u041a\u043e\u043c\u043f 1<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"center\"><strong>\u041a\u043e\u043c\u043f 2<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"center\"><strong>\u041a\u043e\u043c\u043f 3<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"center\"><strong>\u041a\u043e\u043c\u043f 4<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0431\u0435\u0437 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438<\/p>\n<\/td>\n<td>\n<p align=\"center\">2,521<\/p>\n<\/td>\n<td>\n<p align=\"center\">2,599<\/p>\n<\/td>\n<td>\n<p align=\"center\">2,928<\/p>\n<\/td>\n<td>\n<p align=\"center\">4,749<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0441 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u043e\u0439<\/p>\n<\/td>\n<td>\n<p align=\"center\">2,600<\/p>\n<\/td>\n<td>\n<p align=\"center\">2,409<\/p>\n<\/td>\n<td>\n<p align=\"center\">3,057<\/p>\n<\/td>\n<td>\n<p align=\"center\">4,951<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">\u0432 \u0434\u043b\u0438\u043d\u043d\u043e\u043c \u0442\u0438\u043f\u0435<\/p>\n<\/td>\n<td>\n<p align=\"center\">2,488<\/p>\n<\/td>\n<td>\n<p align=\"center\">2,407<\/p>\n<\/td>\n<td>\n<p align=\"center\">2,946<\/p>\n<\/td>\n<td>\n<p align=\"center\">4,762<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><em>\u041c\u0438\u043a\u0440\u043e\u0441\u0435\u043a\u0443\u043d\u0434\u044b, .NET 10<\/em>\u00a0<\/p>\n<p>\u0420\u0430\u0437\u043d\u0438\u0446\u0430 \u043e\u0442 3 \u0434\u043e 4 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043e\u0432, \u0430 \u043d\u0430 Ryzen 9 5950X \u0432\u0435\u0440\u0441\u0438\u044f \u0441 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u043e\u0439 \u043e\u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c \u0431\u044b\u0441\u0442\u0440\u0435\u0435. \u0422\u043e \u0435\u0441\u0442\u044c \u043d\u0430 \u0442\u0430\u043a\u043e\u043c \u043a\u043e\u0434\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0442\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u0432 \u0448\u0443\u043c\u0435.<\/p>\n<h4>\u041f\u0440\u0438\u0447\u0438\u043d\u0430<\/h4>\n<p>\u041f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u043f\u0440\u0438\u0437\u043d\u0430\u043a \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u0438 \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u0438, \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0435 \u043d\u0443\u0436\u043d\u043e. \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u043a \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u044e \u043e\u0434\u0438\u043d \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043f\u043e \u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0443. \u041f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043d\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043d\u0438 \u0440\u0430\u0437\u0443, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u0432\u0435\u0442\u0432\u043b\u0435\u043d\u0438\u0439 \u043d\u0435 \u043e\u0448\u0438\u0431\u0430\u0435\u0442\u0441\u044f, \u0438 \u043d\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0442\u0430\u043a\u043e\u0439 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0435 \u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f.<\/p>\n<h4>\u0413\u0434\u0435 \u043b\u0435\u0433\u043a\u043e \u043e\u0448\u0438\u0431\u0438\u0442\u044c\u0441\u044f<\/h4>\n<p>\u0420\u0435\u0448\u0438\u0442\u044c, \u0447\u0442\u043e \u0440\u0430\u0437 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0441\u0442\u043e\u0438\u0442, \u0435\u0451 \u043c\u043e\u0436\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043d\u0430 \u0432\u0435\u0441\u044c \u043f\u0440\u043e\u0435\u043a\u0442 \u0438 \u0437\u0430\u0431\u044b\u0442\u044c. \u041a\u043b\u044e\u0447 CheckForOverflowUnderflow \u0432 \u0444\u0430\u0439\u043b\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0435\u0451 \u0432\u0435\u0437\u0434\u0435, \u0438 \u043b\u044e\u0431\u043e\u0435 \u043c\u0435\u0441\u0442\u043e, \u0433\u0434\u0435 \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0437\u0430\u0434\u0443\u043c\u0430\u043d\u043e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e, \u043d\u0430\u0447\u043d\u0451\u0442 \u043f\u0430\u0434\u0430\u0442\u044c. \u0425\u0435\u0448-\u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0441\u0447\u0451\u0442\u0447\u0438\u043a\u0438 \u0438 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u0431\u0438\u0442\u0430\u043c\u0438 \u043e\u0431\u044b\u0447\u043d\u043e \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u044e\u0442 \u043d\u0430 \u043e\u0442\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u043d\u0438\u0435 \u0441\u0442\u0430\u0440\u0448\u0438\u0445 \u0440\u0430\u0437\u0440\u044f\u0434\u043e\u0432.<\/p>\n<h3>4. \u0414\u0432\u043e\u0438\u0447\u043d\u044b\u0439 \u043f\u043e\u0438\u0441\u043a \u0441 \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u043c<\/h3>\n<h4>\u0418\u0441\u0445\u043e\u0434\u043d\u0438\u043a<\/h4>\n<p>\u041f\u0440\u0438\u0432\u044b\u0447\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u0441\u0435\u0440\u0435\u0434\u0438\u043d\u044b \u043e\u0442\u0440\u0435\u0437\u043a\u0430:<\/p>\n<pre><code class=\"cs\">int mid = (low + high) \/ 2;<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041f\u043e\u043a\u0430 \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0435, \u0432\u0441\u0451 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e. \u041a\u043e\u0433\u0434\u0430 \u0441\u0443\u043c\u043c\u0430 \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u0451\u0442 \u043f\u043e\u043c\u0435\u0449\u0430\u0442\u044c\u0441\u044f \u0432 int, \u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0430 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439.<\/p>\n<h4>\u0427\u0442\u043e \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u043e\u0442\u0447\u0451\u0442<\/h4>\n<pre><code class=\"cs\">  low            high          \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u043e       \u0440\u0430\u0437\u043d\u043e\u0441\u0442\u044c     \u0431\u0435\u0437\u0437\u043d\u0430\u043a\u043e\u0432\u043e              0             10              5             5              5             0     2000000000     1000000000    1000000000     1000000000    1000000000     2000000000     -647483648    1500000000     1500000000    1500000000     2000000000     -397483648    1750000000     1750000000    2000000000     2147483647      -73741824    2073741823     2073741823    2147483646     2147483647             -1    2147483646     2147483646 \u041f\u043e\u0438\u0441\u043a \u0447\u0438\u0441\u043b\u0430 2000000000 \u043d\u0430 \u043e\u0442\u0440\u0435\u0437\u043a\u0435 \u043e\u0442 0 \u0434\u043e 2147483647:   \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u043e      IndexOutOfRangeException: \u043d\u043e\u043c\u0435\u0440 -536870912  \u0440\u0430\u0437\u043d\u043e\u0441\u0442\u044c      \u043d\u0430\u0439\u0434\u0435\u043d\u043e, \u0448\u0430\u0433\u043e\u0432: 31  \u0431\u0435\u0437\u0437\u043d\u0430\u043a\u043e\u0432\u043e    \u043d\u0430\u0439\u0434\u0435\u043d\u043e, \u0448\u0430\u0433\u043e\u0432: 31<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<h4>\u041f\u0440\u0438\u0447\u0438\u043d\u0430<\/h4>\n<p>\u0412 .NET \u0442\u0430\u043a\u043e\u0433\u043e \u043d\u0435 \u0434\u043e\u043f\u0443\u0441\u043a\u0430\u044e\u0442, \u0438 \u0434\u0435\u043b\u0430\u044e\u0442 \u044d\u0442\u043e \u0434\u0432\u0443\u043c\u044f \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438. \u0412 <a href=\"https:\/\/github.com\/dotnet\/runtime\/blob\/60629d14374c56f1cb51819049ad1fa529307f8d\/src\/libraries\/System.Private.CoreLib\/src\/System\/Collections\/Generic\/ArraySortHelper.cs#L82\" rel=\"noopener nofollow\">ArraySortHelper<\/a> \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0432\u044b\u0447\u0438\u0442\u0430\u044e\u0442 \u043d\u0438\u0436\u043d\u044e\u044e \u0433\u0440\u0430\u043d\u0438\u0446\u0443 \u0438\u0437 \u0432\u0435\u0440\u0445\u043d\u0435\u0439:<\/p>\n<pre><code class=\"cs\">int i = lo + ((hi - lo) &gt;&gt; 1);<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u0410 \u0432 <a href=\"https:\/\/github.com\/dotnet\/runtime\/blob\/60629d14374c56f1cb51819049ad1fa529307f8d\/src\/libraries\/System.Private.CoreLib\/src\/System\/SpanHelpers.BinarySearch.cs#L38\" rel=\"noopener nofollow\">SpanHelpers<\/a> \u2014 \u0431\u0435\u0437\u0437\u043d\u0430\u043a\u043e\u0432\u043e\u0435 \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0438 \u0440\u044f\u0434\u043e\u043c \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439, \u0437\u0430\u0447\u0435\u043c \u0442\u0430\u043a:<\/p>\n<pre><code class=\"cs\">\/\/ PERF: `lo` or `hi` will never be negative inside the loop,\/\/       so computing median using uints is safe since we know\/\/       `length &lt;= int.MaxValue`, and indices are &gt;= 0\/\/       and thus cannot overflow an uint.\/\/       Saves one subtraction per loop compared to\/\/       `int i = lo + ((hi - lo) &gt;&gt; 1);`int i = (int)(((uint)hi + (uint)lo) &gt;&gt; 1);<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>\u041e\u0431\u0430 \u0438\u043d\u0434\u0435\u043a\u0441\u0430 \u043d\u0435\u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0438\u0445 \u0441\u0443\u043c\u043c\u0430 \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442\u0441\u044f \u0432 uint. \u0410 \u0435\u0449\u0451 \u0442\u0430\u043a\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442 \u043e\u0434\u043d\u043e \u0432\u044b\u0447\u0438\u0442\u0430\u043d\u0438\u0435 \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438.<\/p>\n<h4>\u0427\u0442\u043e \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0437\u0430\u043c\u0435\u0440<\/h4>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<td data-colwidth=\"181\" width=\"181\">\n<p align=\"left\"><strong>\u0421\u043f\u043e\u0441\u043e\u0431<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"center\"><strong>\u041a\u043e\u043c\u043f 1<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"center\"><strong>\u041a\u043e\u043c\u043f 2<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"center\"><strong>\u041a\u043e\u043c\u043f 3<\/strong><\/p>\n<\/td>\n<td>\n<p align=\"center\"><strong>\u041a\u043e\u043c\u043f 4<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"181\" width=\"181\">\n<p align=\"left\">\u043f\u0440\u0438\u0432\u044b\u0447\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c<\/p>\n<\/td>\n<td>\n<p align=\"center\">5,165<\/p>\n<\/td>\n<td>\n<p align=\"center\">5,891<\/p>\n<\/td>\n<td>\n<p align=\"center\">6,122<\/p>\n<\/td>\n<td>\n<p align=\"center\">7,964<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"181\" width=\"181\">\n<p align=\"left\">\u0447\u0435\u0440\u0435\u0437 \u0440\u0430\u0437\u043d\u043e\u0441\u0442\u044c<\/p>\n<\/td>\n<td>\n<p align=\"center\">5,217<\/p>\n<\/td>\n<td>\n<p align=\"center\">5,280<\/p>\n<\/td>\n<td>\n<p align=\"center\">6,070<\/p>\n<\/td>\n<td>\n<p align=\"center\">7,645<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td data-colwidth=\"181\" width=\"181\">\n<p align=\"left\">\u0431\u0435\u0437\u0437\u043d\u0430\u043a\u043e\u0432\u043e<\/p>\n<\/td>\n<td>\n<p align=\"center\">5,167<\/p>\n<\/td>\n<td>\n<p align=\"center\">5,288<\/p>\n<\/td>\n<td>\n<p align=\"center\">6,049<\/p>\n<\/td>\n<td>\n<p align=\"center\">7,627<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><em>\u041d\u0430\u043d\u043e\u0441\u0435\u043a\u0443\u043d\u0434\u044b \u043d\u0430 \u0447\u0435\u0442\u044b\u0440\u0435 \u043e\u0442\u0440\u0435\u0437\u043a\u0430, .NET 10<\/em><\/p>\n<p>\u041e\u0431\u0435\u0449\u0430\u043d\u043d\u043e\u0439 \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0438 \u0432 \u0437\u0430\u043c\u0435\u0440\u0435 \u043d\u0435 \u0432\u0438\u0434\u043d\u043e: \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u0432\u0442\u043e\u0440\u044b\u043c \u0438 \u0442\u0440\u0435\u0442\u044c\u0438\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c \u043e\u0442 0,3 \u0434\u043e 0,4 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u0430, \u0430 \u043d\u0430 Intel Core i9-10900KF \u0435\u0451 \u043d\u0435\u0442. \u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0438\u0441\u0447\u0435\u0437\u0430\u0435\u0442, \u043d\u043e \u043d\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u044d\u0442\u043e \u043d\u0435 \u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f.<\/p>\n<h4>\u0413\u0434\u0435 \u043b\u0435\u0433\u043a\u043e \u043e\u0448\u0438\u0431\u0438\u0442\u044c\u0441\u044f<\/h4>\n<p>\u0420\u0435\u0448\u0438\u0442\u044c, \u0447\u0442\u043e \u0441\u043b\u0443\u0447\u0430\u0439 \u043d\u0430\u0434\u0443\u043c\u0430\u043d\u043d\u044b\u0439, \u0440\u0430\u0437 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432 \u043d\u0430 \u0434\u0432\u0430 \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434\u0430 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u043d\u0435 \u0431\u044b\u0432\u0430\u0435\u0442. \u0413\u0440\u0430\u043d\u0438\u0446\u044b \u0431\u0435\u0440\u0443\u0442\u0441\u044f \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u0437 \u0434\u043b\u0438\u043d\u044b \u043c\u0430\u0441\u0441\u0438\u0432\u0430: \u044d\u0442\u043e \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u044b \u0437\u0430\u043f\u0438\u0441\u0435\u0439, \u043e\u0442\u043c\u0435\u0442\u043a\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438\u043b\u0438 \u043d\u043e\u043c\u0435\u0440\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446, \u0430 \u0442\u0430\u043c \u0442\u0430\u043a\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u044e\u0442\u0441\u044f \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e.<\/p>\n<h3>\u0413\u0440\u0430\u043d\u0438\u0446\u044b \u0437\u0430\u043c\u0435\u0440\u043e\u0432<\/h3>\n<p>\u0412\u0441\u0435 \u0437\u0430\u043c\u0435\u0440\u044b \u0441\u043d\u044f\u0442\u044b \u043d\u0430 x64 \u043f\u043e\u0434 Windows, \u043d\u0430 .NET 8, 9 \u0438 10.<\/p>\n<p>\u0427\u0438\u0441\u043b\u0430 \u0434\u043b\u044f \u0437\u0430\u043c\u0435\u0440\u0430 \u0431\u0435\u0440\u0443\u0442\u0441\u044f \u0438\u0437 \u043c\u0430\u0441\u0441\u0438\u0432\u0430, \u0430 \u043d\u0435 \u043f\u0438\u0448\u0443\u0442\u0441\u044f \u0432 \u043a\u043e\u0434\u0435: \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u043d\u044b\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442 \u043f\u0440\u0438 \u0441\u0431\u043e\u0440\u043a\u0435, \u0438 \u0437\u0430\u043c\u0435\u0440\u044f\u0442\u044c \u0431\u044b\u043b\u043e \u0431\u044b \u043d\u0435\u0447\u0435\u0433\u043e. \u0423 \u0432\u0441\u0435\u0445 \u0438\u0437\u043c\u0435\u0440\u044f\u0435\u043c\u044b\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u043e \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u043d\u0438\u0435.<\/p>\n<p>\u0414\u0432\u043e\u0438\u0447\u043d\u044b\u0439 \u043f\u043e\u0438\u0441\u043a \u0432 \u043e\u0442\u0447\u0451\u0442\u0435 \u0438\u0434\u0451\u0442 \u043f\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0443, \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0435\u0442: \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u0440\u0430\u0432\u043d\u043e \u0435\u0433\u043e \u043d\u043e\u043c\u0435\u0440\u0443, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043a \u043f\u0430\u043c\u044f\u0442\u0438 \u0437\u0430\u043c\u0435\u043d\u0435\u043d\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435\u043c. \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u043a\u0430 \u0433\u0440\u0430\u043d\u0438\u0446.<\/p>\n<p>\u0412 32-\u0431\u0438\u0442\u043d\u043e\u0439 \u0441\u0431\u043e\u0440\u043a\u0435 nint \u0437\u0430\u0439\u043c\u0451\u0442 \u0447\u0435\u0442\u044b\u0440\u0435 \u0431\u0430\u0439\u0442\u0430, \u0438 \u0435\u0433\u043e \u0441\u0442\u0440\u043e\u043a\u0430 \u0432 \u043e\u0442\u0447\u0451\u0442\u0435 \u0431\u0443\u0434\u0435\u0442 \u0434\u0440\u0443\u0433\u043e\u0439.<\/p>\n<h3>\u041a\u043e\u0434 \u0438\u0437 \u0441\u0442\u0430\u0442\u044c\u0438<\/h3>\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/ComboxSoftDeveloper\/OverflowProof\" rel=\"noopener nofollow\">OverflowProof<\/a> \u2014 \u0437\u0430\u043c\u0435\u0440\u044b, \u043e\u0442\u0447\u0451\u0442\u044b \u0438 \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0438 \u0441 \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u043c\u0430\u0448\u0438\u043d<\/p>\n<\/li>\n<\/ul>\n<h3>\u0421\u0441\u044b\u043b\u043a\u0438<\/h3>\n<ul>\n<li>\n<p><a href=\"https:\/\/github.com\/dotnet\/runtime\/blob\/60629d14374c56f1cb51819049ad1fa529307f8d\/src\/libraries\/System.Private.CoreLib\/src\/System\/Math.cs#L62\" rel=\"noopener nofollow\">Math.Abs: \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043f\u043e\u0441\u043b\u0435 \u0441\u043c\u0435\u043d\u044b \u0437\u043d\u0430\u043a\u0430<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/dotnet\/runtime\/blob\/60629d14374c56f1cb51819049ad1fa529307f8d\/src\/libraries\/System.Private.CoreLib\/src\/System\/Collections\/Generic\/ArraySortHelper.cs#L82\" rel=\"noopener nofollow\">\u0421\u0435\u0440\u0435\u0434\u0438\u043d\u0430 \u0447\u0435\u0440\u0435\u0437 \u0440\u0430\u0437\u043d\u043e\u0441\u0442\u044c \u0432 ArraySortHelper<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/dotnet\/runtime\/blob\/60629d14374c56f1cb51819049ad1fa529307f8d\/src\/libraries\/System.Private.CoreLib\/src\/System\/SpanHelpers.BinarySearch.cs#L38\" rel=\"noopener nofollow\">\u0421\u0435\u0440\u0435\u0434\u0438\u043d\u0430 \u0447\u0435\u0440\u0435\u0437 \u0431\u0435\u0437\u0437\u043d\u0430\u043a\u043e\u0432\u043e\u0435 \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432 SpanHelpers<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/github.com\/dotnet\/runtime\/blob\/60629d14374c56f1cb51819049ad1fa529307f8d\/src\/libraries\/System.Private.CoreLib\/src\/System\/Collections\/Generic\/List.cs#L494\" rel=\"noopener nofollow\">\u0420\u043e\u0441\u0442 \u0441\u043f\u0438\u0441\u043a\u0430 \u0441 \u043e\u0433\u043b\u044f\u0434\u043a\u043e\u0439 \u043d\u0430 \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/learn.microsoft.com\/dotnet\/csharp\/language-reference\/statements\/checked-and-unchecked\" rel=\"noopener nofollow\">\u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b checked \u0438 unchecked<\/a><\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/learn.microsoft.com\/dotnet\/api\/system.math.abs\" rel=\"noopener nofollow\">Math.Abs<\/a><\/p>\n<\/li>\n<\/ul>\n<p><strong>\u0412\u0441\u0435\u043c \u0443\u0434\u0430\u0447\u0438 \u0438 \u0434\u043e \u043d\u043e\u0432\u044b\u0445 \u0432\u0441\u0442\u0440\u0435\u0447!<\/strong><\/p>\n<\/div>\n<p>\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/1080958\/\">https:\/\/habr.com\/ru\/articles\/1080958\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0415\u0441\u0442\u044c \u0447\u0438\u0441\u043b\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043d\u0435 \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043e\u0442 \u0441\u043c\u0435\u043d\u044b \u0437\u043d\u0430\u043a\u0430. \u041c\u0438\u043d\u0443\u0441 \u043f\u0435\u0440\u0435\u0434 \u043d\u0438\u043c \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0434\u0435\u043b\u0430\u0435\u0442, \u0430 \u043c\u043e\u0434\u0443\u043b\u044f \u0443 \u043d\u0435\u0433\u043e \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442: Math.Abs \u0431\u0440\u043e\u0441\u0430\u0435\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435.\u042d\u0442\u043e int.MinValue. \u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0442\u0430\u043a\u0443\u044e \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u043d\u0435 \u0441\u043e\u0431\u0435\u0440\u0451\u0442, \u043d\u043e int.MinValue == unchecked(-int.MinValue) \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 true.\u00a0\u041c\u0430\u0448\u0438\u043d\u0430\u041f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0421\u0438\u0441\u0442\u0435\u043c\u0430\u041a\u043e\u043c\u043f 1Intel Core i9-10900KF 3.70GHz, 10   \u044f\u0434\u0435\u0440Windows 10 22H2\u041a\u043e\u043c\u043f 2AMD Ryzen 9 5950X 3.39GHz, 16 \u044f\u0434\u0435\u0440Windows 10 1809\u041a\u043e\u043c\u043f 3Intel Xeon W-2255 3.70GHz, 10 \u044f\u0434\u0435\u0440Windows Server 2022\u041a\u043e\u043c\u043f 4Intel Xeon Silver 4314 2.40GHz, 2   CPU, 32 \u044f\u0434\u0440\u0430Windows Server 2022\u0412\u0441\u0435 \u043c\u0430\u0448\u0438\u043d\u044b x64\u0420\u0430\u043d\u0442\u0430\u0439\u043c\u044b .NET 8, 9 \u0438 10 \u2014 \u0432\u0441\u0435 \u0442\u0440\u0438 \u0432 \u043e\u0434\u043d\u043e\u043c \u0437\u0430\u043f\u0443\u0441\u043a\u0435 BenchmarkDotNet 0.15.8. \u0427\u0438\u0441\u043b\u0430 \u0432 \u0442\u0435\u043a\u0441\u0442\u0435 \u0441 AMD Ryzen 9 5950X, \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u043f\u043e \u0432\u0441\u0435\u043c \u0447\u0435\u0442\u044b\u0440\u0451\u043c \u043c\u0430\u0448\u0438\u043d\u0430\u043c.1. \u0427\u0438\u0441\u043b\u043e, \u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0435\u0442 \u043c\u043e\u0434\u0443\u043b\u044f\u0418\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u041e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b \u0432 int \u043d\u0430 \u043e\u0434\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u0435, \u0447\u0435\u043c \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445: \u043e\u0442 \u22122 147 483 648 \u0434\u043e 2 147 483 647. \u0423 \u043d\u0438\u0436\u043d\u0435\u0439 \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u043d\u0435\u0442 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043f\u0430\u0440\u044b, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u043c\u0435\u043d\u0430 \u0437\u043d\u0430\u043a\u0430 \u0435\u0451 \u043d\u0435 \u043c\u0435\u043d\u044f\u0435\u0442.int min = int.MinValue; Console.WriteLine(min);              \/\/ -2147483648Console.WriteLine(-min);             \/\/ -2147483648Console.WriteLine(min == -min);      \/\/ True\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u0447\u043d\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c \u043e\u0431 \u044d\u0442\u043e\u043c \u0437\u043d\u0430\u0435\u0442. \u0412\u043e\u0442 \u043a\u0430\u043a \u043e\u043d \u043d\u0430\u043f\u0438\u0441\u0430\u043d:public static int Abs(int value){    if (value &lt; 0)    {        value = -value;        if (value &lt; 0)        {            ThrowNegateTwosCompOverflow();        }    }    return value;}\u0427\u0438\u0441\u043b\u043e \u043c\u0435\u043d\u044f\u0435\u0442 \u0437\u043d\u0430\u043a, \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e. \u0415\u0441\u043b\u0438 \u043f\u043e\u0441\u043b\u0435 \u0441\u043c\u0435\u043d\u044b \u0437\u043d\u0430\u043a\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043e\u0441\u0442\u0430\u043b\u0441\u044f \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c, \u043c\u043e\u0434\u0443\u043b\u044f \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0438 \u043c\u0435\u0442\u043e\u0434 \u0431\u0440\u043e\u0441\u0430\u0435\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435.\u0427\u0442\u043e \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u043e\u0442\u0447\u0451\u0442  \u0442\u0438\u043f           \u0441\u0430\u043c\u043e\u0435 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u043e\u0435          -x \u0440\u0430\u0432\u0435\u043d x   \u043c\u043e\u0434\u0443\u043b\u044c        x \/ -1   sbyte                          -128          \u0434\u0430    \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435          -128  short                        -32768          \u0434\u0430    \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435        -32768  int                     -2147483648          \u0434\u0430    \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435    \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435  long           -9223372036854775808          \u0434\u0430    \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435    \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435  nint           -9223372036854775808          \u0434\u0430    \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435    \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u041e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e \u043d\u0430 \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u043c\u0430\u0448\u0438\u043d\u0430\u0445 \u0438 \u0442\u0440\u0451\u0445 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0430\u0445.\u041f\u0440\u0438\u0447\u0438\u043d\u0430\u041e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0447\u0438\u0441\u043b\u0430 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u043c \u043a\u043e\u0434\u0435. \u0421\u0442\u0430\u0440\u0448\u0438\u0439 \u0431\u0438\u0442 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0437\u043d\u0430\u043a, \u0430 \u0441\u043c\u0435\u043d\u0430 \u0437\u043d\u0430\u043a\u0430 \u2014 \u044d\u0442\u043e \u0438\u043d\u0432\u0435\u0440\u0441\u0438\u044f \u0432\u0441\u0435\u0445 \u0431\u0438\u0442\u043e\u0432 \u043f\u043b\u044e\u0441 \u0435\u0434\u0438\u043d\u0438\u0446\u0430.\u0423 \u043d\u0438\u0436\u043d\u0435\u0439 \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u0432\u0441\u0435 \u0431\u0438\u0442\u044b, \u043a\u0440\u043e\u043c\u0435 \u0441\u0442\u0430\u0440\u0448\u0435\u0433\u043e, \u043d\u0443\u043b\u0435\u0432\u044b\u0435. \u0418\u043d\u0432\u0435\u0440\u0441\u0438\u044f \u0441\u0442\u0430\u0432\u0438\u0442 \u0435\u0434\u0438\u043d\u0438\u0446\u044b \u0432\u043e \u0432\u0441\u0435\u0445 \u0440\u0430\u0437\u0440\u044f\u0434\u0430\u0445, \u043f\u0440\u0438\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0435\u0434\u0438\u043d\u0438\u0446\u044b \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442 \u0440\u0430\u0437\u0440\u044f\u0434\u044b \u0434\u043e \u043a\u043e\u043d\u0446\u0430, \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e.\u0413\u0434\u0435 \u043b\u0435\u0433\u043a\u043e \u043e\u0448\u0438\u0431\u0438\u0442\u044c\u0441\u044f\u041d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0432\u043e\u0439 \u043c\u043e\u0434\u0443\u043b\u044c \u0438 \u0440\u0435\u0448\u0438\u0442\u044c, \u0447\u0442\u043e \u043e\u043d \u043b\u0443\u0447\u0448\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u0447\u043d\u043e\u0433\u043e:int Abs(int value) =&gt; value &lt; 0 ? -value : value;\u0422\u0443\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043d\u0435\u0442, \u0437\u0430\u0442\u043e \u043d\u0430 \u043d\u0438\u0436\u043d\u0435\u0439 \u0433\u0440\u0430\u043d\u0438\u0446\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c. \u041c\u043e\u0434\u0443\u043b\u044c \u0447\u0438\u0441\u043b\u0430 \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u0435\u043d, \u0438 \u0441 \u044d\u0442\u0438\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432\u0435\u0441\u044c \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0439 \u043a\u043e\u0434.\u041d\u0430 sbyte \u0438 short \u043e\u0448\u0438\u0431\u0438\u0442\u044c\u0441\u044f \u0435\u0449\u0451 \u043b\u0435\u0433\u0447\u0435. \u0421\u043c\u0435\u043d\u0430 \u0437\u043d\u0430\u043a\u0430 \u0432\u0435\u0434\u0451\u0442 \u0441\u0435\u0431\u044f \u0442\u0430\u043c \u0442\u043e\u0447\u043d\u043e \u0442\u0430\u043a \u0436\u0435, \u043d\u043e \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c \u044d\u0442\u043e \u0442\u0440\u0443\u0434\u043d\u0435\u0435: \u043f\u0435\u0440\u0435\u0434 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435\u043c \u043e\u0431\u0430 \u0442\u0438\u043f\u0430 \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u044e\u0442\u0441\u044f \u0434\u043e int, \u0433\u0434\u0435 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0443\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d.2. \u0414\u0435\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u043c\u0438\u043d\u0443\u0441 \u0435\u0434\u0438\u043d\u0438\u0446\u0443\u0418\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u041e\u0431\u044b\u0447\u043d\u043e\u0435 \u0434\u0435\u043b\u0435\u043d\u0438\u0435, \u043d\u0438\u0447\u0435\u0433\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0433\u043e:int left = int.MinValue;int right = -1; int result = left \/ right;   \/\/ System.OverflowException\u0427\u0442\u043e \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u043e\u0442\u0447\u0451\u0442\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0441\u0442\u043e\u043b\u0431\u0435\u0446 \u0442\u043e\u0439 \u0436\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b:  \u0442\u0438\u043f           \u0441\u0430\u043c\u043e\u0435 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u043e\u0435          -x \u0440\u0430\u0432\u0435\u043d x   \u043c\u043e\u0434\u0443\u043b\u044c        x \/ -1   sbyte                          -128          \u0434\u0430    \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435          -128  short                        -32768          \u0434\u0430    \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435        -32768  int                     -2147483648          \u0434\u0430    \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435    \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435  long           -9223372036854775808          \u0434\u0430    \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435    \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435  nint           -9223372036854775808          \u0434\u0430    \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435    \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u0423 int, long \u0438 nint \u2014 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435. \u0423 sbyte \u0438 short \u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442, \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u044b\u0439.\u041f\u0440\u0438\u0447\u0438\u043d\u0430\u041f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u043e\u0442\u0432\u0435\u0442 \u0440\u0430\u0432\u0435\u043d 2 147 483 648, \u0430 \u0442\u0430\u043a\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u0432 int \u043d\u0435\u0442. \u0414\u0435\u043b\u0435\u043d\u0438\u0435 \u0432 \u044d\u0442\u043e\u043c \u0441\u043c\u044b\u0441\u043b\u0435 \u043d\u0438\u0447\u0435\u043c \u043d\u0435 \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 \u0441\u043c\u0435\u043d\u044b \u0437\u043d\u0430\u043a\u0430.\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0434\u0435\u043b\u0430\u0435\u0442 \u043d\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430, \u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440. \u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u0446\u0435\u043b\u043e\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043d\u0430 x86 \u0441\u0430\u043c\u0430 \u0441\u043e\u043e\u0431\u0449\u0430\u0435\u0442 \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0435, \u043a\u043e\u0433\u0434\u0430 \u0447\u0430\u0441\u0442\u043d\u043e\u0435 \u043d\u0435 \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442\u0441\u044f \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440. \u0420\u0430\u043d\u0442\u0430\u0439\u043c \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u044d\u0442\u043e \u0432 OverflowException.\u0418\u043c\u0435\u043d\u043d\u043e \u043f\u043e\u044d\u0442\u043e\u043c\u0443 sbyte \u0438 short \u043d\u0435 \u043f\u0430\u0434\u0430\u044e\u0442: \u043f\u0435\u0440\u0435\u0434 \u0434\u0435\u043b\u0435\u043d\u0438\u0435\u043c \u043e\u043d\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u044e\u0442\u0441\u044f \u0434\u043e int, \u0433\u0434\u0435 128 \u0438 32 768 \u0443\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e.\u0413\u0434\u0435 \u043b\u0435\u0433\u043a\u043e \u043e\u0448\u0438\u0431\u0438\u0442\u044c\u0441\u044f\u0421\u0447\u0438\u0442\u0430\u0442\u044c, \u0447\u0442\u043e \u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043d\u0435 \u0431\u0440\u043e\u0441\u0430\u0435\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439, \u0440\u0430\u0437 \u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c \u043d\u0435 \u043d\u0443\u043b\u0435\u0432\u043e\u0439. \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 if (right != 0) \u043e\u0442 \u044d\u0442\u043e\u0433\u043e \u0441\u043b\u0443\u0447\u0430\u044f \u043d\u0435 \u0441\u043f\u0430\u0441\u0430\u0435\u0442.\u041e\u0441\u0442\u0430\u0442\u043e\u043a \u0432\u0435\u0434\u0451\u0442 \u0441\u0435\u0431\u044f \u0442\u0430\u043a \u0436\u0435: int.MinValue % -1 \u0442\u043e\u0436\u0435 \u0431\u0440\u043e\u0441\u0430\u0435\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435, \u0445\u043e\u0442\u044f \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043e\u0441\u0442\u0430\u0442\u043e\u043a \u0442\u0443\u0442 \u0440\u0430\u0432\u0435\u043d \u043d\u0443\u043b\u044e.3. \u0414\u0432\u0430 \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434\u0430 \u043f\u043b\u044e\u0441 \u0434\u0432\u0430 \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434\u0430\u0418\u0441\u0445\u043e\u0434\u043d\u0438\u043aint big = 2_000_000_000;int sum = big + big; Console.WriteLine(sum);   \/\/ -294967296\u041d\u0438 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f, \u043d\u0438 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u044f. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e C# \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 \u043d\u0435\u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c\u043e\u043c \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u0442\u0430\u0440\u0448\u0438\u0435 \u0431\u0438\u0442\u044b \u043e\u0442\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f.\u0410 \u0442\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u043d\u0430 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0430\u0445 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u043d\u0435 \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442:const int big = 2_000_000_000;int sum = checked(big + big); \/\/ error CS0220: The operation overflows at compile time in checked mode\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b \u043f\u0440\u0438 \u0441\u0431\u043e\u0440\u043a\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0437\u0430\u0440\u0430\u043d\u0435\u0435. \u042d\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u0441 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u043e\u0439 \u043d\u0430 \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435, \u043f\u043e\u0442\u043e\u043c\u0443 \u0438 \u043f\u0430\u0434\u0430\u0435\u0442 \u043e\u0448\u0438\u0431\u043a\u0430.\u0421 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438 \u0442\u0430\u043a\u043e\u0435 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e: \u0438\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u044f\u0432\u044f\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043a\u043e\u0434 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f, \u0430 \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u043d\u0435\u0437\u0430\u043c\u0435\u0447\u0435\u043d\u043d\u044b\u043c.\u0427\u0442\u043e \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0437\u0430\u043c\u0435\u0440\u0426\u0438\u043a\u043b \u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442 10 000 \u0447\u0438\u0441\u0435\u043b. \u041d\u0430\u0431\u043e\u0440 \u043f\u043e\u0434\u043e\u0431\u0440\u0430\u043d \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u0441\u0443\u043c\u043c\u0430 \u0443\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u043b\u0430\u0441\u044c \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d: \u0438\u043d\u0430\u0447\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0441 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u043e\u0439 \u0431\u0440\u043e\u0441\u0430\u0435\u0442 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435, \u0438 \u0437\u0430\u043c\u0435\u0440 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0443 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438, \u0430 \u0440\u0430\u0431\u043e\u0442\u0443 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u043e\u0448\u0438\u0431\u043a\u0438.\u0421\u043f\u043e\u0441\u043e\u0431\u041a\u043e\u043c\u043f 1\u041a\u043e\u043c\u043f 2\u041a\u043e\u043c\u043f 3\u041a\u043e\u043c\u043f 4\u0431\u0435\u0437 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u04382,5212,5992,9284,749\u0441 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u043e\u04392,6002,4093,0574,951\u0432 \u0434\u043b\u0438\u043d\u043d\u043e\u043c \u0442\u0438\u043f\u04352,4882,4072,9464,762\u041c\u0438\u043a\u0440\u043e\u0441\u0435\u043a\u0443\u043d\u0434\u044b, .NET 10\u00a0\u0420\u0430\u0437\u043d\u0438\u0446\u0430 \u043e\u0442 3 \u0434\u043e 4 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043e\u0432, \u0430 \u043d\u0430 Ryzen 9 5950X \u0432\u0435\u0440\u0441\u0438\u044f \u0441 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u043e\u0439 \u043e\u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c \u0431\u044b\u0441\u0442\u0440\u0435\u0435. \u0422\u043e \u0435\u0441\u0442\u044c \u043d\u0430 \u0442\u0430\u043a\u043e\u043c \u043a\u043e\u0434\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0442\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u0432 \u0448\u0443\u043c\u0435.\u041f\u0440\u0438\u0447\u0438\u043d\u0430\u041f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u043f\u0440\u0438\u0437\u043d\u0430\u043a \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0440\u0438 \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u0438, \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0435 \u043d\u0443\u0436\u043d\u043e. \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u043a \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u044e \u043e\u0434\u0438\u043d \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043f\u043e \u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0443. \u041f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043d\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043d\u0438 \u0440\u0430\u0437\u0443, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u0432\u0435\u0442\u0432\u043b\u0435\u043d\u0438\u0439 \u043d\u0435 \u043e\u0448\u0438\u0431\u0430\u0435\u0442\u0441\u044f, \u0438 \u043d\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0442\u0430\u043a\u043e\u0439 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0435 \u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f.\u0413\u0434\u0435 \u043b\u0435\u0433\u043a\u043e \u043e\u0448\u0438\u0431\u0438\u0442\u044c\u0441\u044f\u0420\u0435\u0448\u0438\u0442\u044c, \u0447\u0442\u043e \u0440\u0430\u0437 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0441\u0442\u043e\u0438\u0442, \u0435\u0451 \u043c\u043e\u0436\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043d\u0430 \u0432\u0435\u0441\u044c \u043f\u0440\u043e\u0435\u043a\u0442 \u0438 \u0437\u0430\u0431\u044b\u0442\u044c. \u041a\u043b\u044e\u0447 CheckForOverflowUnderflow \u0432 \u0444\u0430\u0439\u043b\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0435\u0451 \u0432\u0435\u0437\u0434\u0435, \u0438 \u043b\u044e\u0431\u043e\u0435 \u043c\u0435\u0441\u0442\u043e, \u0433\u0434\u0435 \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0437\u0430\u0434\u0443\u043c\u0430\u043d\u043e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e, \u043d\u0430\u0447\u043d\u0451\u0442 \u043f\u0430\u0434\u0430\u0442\u044c. \u0425\u0435\u0448-\u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0441\u0447\u0451\u0442\u0447\u0438\u043a\u0438 \u0438 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u0431\u0438\u0442\u0430\u043c\u0438 \u043e\u0431\u044b\u0447\u043d\u043e \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u044e\u0442 \u043d\u0430 \u043e\u0442\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u043d\u0438\u0435 \u0441\u0442\u0430\u0440\u0448\u0438\u0445 \u0440\u0430\u0437\u0440\u044f\u0434\u043e\u0432.4. \u0414\u0432\u043e\u0438\u0447\u043d\u044b\u0439 \u043f\u043e\u0438\u0441\u043a \u0441 \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u043c\u0418\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u041f\u0440\u0438\u0432\u044b\u0447\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u0441\u0435\u0440\u0435\u0434\u0438\u043d\u044b \u043e\u0442\u0440\u0435\u0437\u043a\u0430:int mid = (low + high) \/ 2;\u041f\u043e\u043a\u0430 \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0435, \u0432\u0441\u0451 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e. \u041a\u043e\u0433\u0434\u0430 \u0441\u0443\u043c\u043c\u0430 \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u0451\u0442 \u043f\u043e\u043c\u0435\u0449\u0430\u0442\u044c\u0441\u044f \u0432 int, \u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0430 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439.\u0427\u0442\u043e \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u043e\u0442\u0447\u0451\u0442  low            high          \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u043e       \u0440\u0430\u0437\u043d\u043e\u0441\u0442\u044c     \u0431\u0435\u0437\u0437\u043d\u0430\u043a\u043e\u0432\u043e              0             10              5             5              5             0     2000000000     1000000000    1000000000     1000000000    1000000000     2000000000     -647483648    1500000000     1500000000    1500000000     2000000000     -397483648    1750000000     1750000000    2000000000     2147483647      -73741824    2073741823     2073741823    2147483646     2147483647             -1    2147483646     2147483646 \u041f\u043e\u0438\u0441\u043a \u0447\u0438\u0441\u043b\u0430 2000000000 \u043d\u0430 \u043e\u0442\u0440\u0435\u0437\u043a\u0435 \u043e\u0442 0 \u0434\u043e 2147483647:   \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u043e      IndexOutOfRangeException: \u043d\u043e\u043c\u0435\u0440 -536870912  \u0440\u0430\u0437\u043d\u043e\u0441\u0442\u044c      \u043d\u0430\u0439\u0434\u0435\u043d\u043e, \u0448\u0430\u0433\u043e\u0432: 31  \u0431\u0435\u0437\u0437\u043d\u0430\u043a\u043e\u0432\u043e    \u043d\u0430\u0439\u0434\u0435\u043d\u043e, \u0448\u0430\u0433\u043e\u0432: 31\u041f\u0440\u0438\u0447\u0438\u043d\u0430\u0412 .NET \u0442\u0430\u043a\u043e\u0433\u043e \u043d\u0435 \u0434\u043e\u043f\u0443\u0441\u043a\u0430\u044e\u0442, \u0438 \u0434\u0435\u043b\u0430\u044e\u0442 \u044d\u0442\u043e \u0434\u0432\u0443\u043c\u044f \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438. \u0412 ArraySortHelper \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0432\u044b\u0447\u0438\u0442\u0430\u044e\u0442 \u043d\u0438\u0436\u043d\u044e\u044e \u0433\u0440\u0430\u043d\u0438\u0446\u0443 \u0438\u0437 \u0432\u0435\u0440\u0445\u043d\u0435\u0439:int i = lo + ((hi &#8212; lo) &gt;&gt; 1);\u0410 \u0432 SpanHelpers \u2014 \u0431\u0435\u0437\u0437\u043d\u0430\u043a\u043e\u0432\u043e\u0435 \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0438 \u0440\u044f\u0434\u043e\u043c \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439, \u0437\u0430\u0447\u0435\u043c \u0442\u0430\u043a:\/\/ PERF: `lo` or `hi` will never be negative inside the loop,\/\/       so computing median using uints is safe since we know\/\/       `length &lt;= int.MaxValue`, and indices are &gt;= 0\/\/       and thus cannot overflow an uint.\/\/       Saves one subtraction per loop compared to\/\/       `int i = lo + ((hi &#8212; lo) &gt;&gt; 1);`int i = (int)(((uint)hi + (uint)lo) &gt;&gt; 1);\u041e\u0431\u0430 \u0438\u043d\u0434\u0435\u043a\u0441\u0430 \u043d\u0435\u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0438\u0445 \u0441\u0443\u043c\u043c\u0430 \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442\u0441\u044f \u0432 uint. \u0410 \u0435\u0449\u0451 \u0442\u0430\u043a\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442 \u043e\u0434\u043d\u043e \u0432\u044b\u0447\u0438\u0442\u0430\u043d\u0438\u0435 \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438.\u0427\u0442\u043e \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0437\u0430\u043c\u0435\u0440\u0421\u043f\u043e\u0441\u043e\u0431\u041a\u043e\u043c\u043f 1\u041a\u043e\u043c\u043f 2\u041a\u043e\u043c\u043f 3\u041a\u043e\u043c\u043f 4\u043f\u0440\u0438\u0432\u044b\u0447\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c5,1655,8916,1227,964\u0447\u0435\u0440\u0435\u0437 \u0440\u0430\u0437\u043d\u043e\u0441\u0442\u044c5,2175,2806,0707,645\u0431\u0435\u0437\u0437\u043d\u0430\u043a\u043e\u0432\u043e5,1675,2886,0497,627\u041d\u0430\u043d\u043e\u0441\u0435\u043a\u0443\u043d\u0434\u044b \u043d\u0430 \u0447\u0435\u0442\u044b\u0440\u0435 \u043e\u0442\u0440\u0435\u0437\u043a\u0430, .NET 10\u041e\u0431\u0435\u0449\u0430\u043d\u043d\u043e\u0439 \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0438 \u0432 \u0437\u0430\u043c\u0435\u0440\u0435 \u043d\u0435 \u0432\u0438\u0434\u043d\u043e: \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u0432\u0442\u043e\u0440\u044b\u043c \u0438 \u0442\u0440\u0435\u0442\u044c\u0438\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c \u043e\u0442 0,3 \u0434\u043e 0,4 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u0430, \u0430 \u043d\u0430 Intel Core i9-10900KF \u0435\u0451 \u043d\u0435\u0442. \u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0438\u0441\u0447\u0435\u0437\u0430\u0435\u0442, \u043d\u043e \u043d\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u044d\u0442\u043e \u043d\u0435 \u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f.\u0413\u0434\u0435 \u043b\u0435\u0433\u043a\u043e \u043e\u0448\u0438\u0431\u0438\u0442\u044c\u0441\u044f\u0420\u0435\u0448\u0438\u0442\u044c, \u0447\u0442\u043e \u0441\u043b\u0443\u0447\u0430\u0439 \u043d\u0430\u0434\u0443\u043c\u0430\u043d\u043d\u044b\u0439, \u0440\u0430\u0437 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432 \u043d\u0430 \u0434\u0432\u0430 \u043c\u0438\u043b\u043b\u0438\u0430\u0440\u0434\u0430 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u043d\u0435 \u0431\u044b\u0432\u0430\u0435\u0442. \u0413\u0440\u0430\u043d\u0438\u0446\u044b \u0431\u0435\u0440\u0443\u0442\u0441\u044f \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u0437 \u0434\u043b\u0438\u043d\u044b \u043c\u0430\u0441\u0441\u0438\u0432\u0430: \u044d\u0442\u043e \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u044b \u0437\u0430\u043f\u0438\u0441\u0435\u0439, \u043e\u0442\u043c\u0435\u0442\u043a\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438\u043b\u0438 \u043d\u043e\u043c\u0435\u0440\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446, \u0430 \u0442\u0430\u043c \u0442\u0430\u043a\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u044e\u0442\u0441\u044f \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e.\u0413\u0440\u0430\u043d\u0438\u0446\u044b \u0437\u0430\u043c\u0435\u0440\u043e\u0432\u0412\u0441\u0435 \u0437\u0430\u043c\u0435\u0440\u044b \u0441\u043d\u044f\u0442\u044b \u043d\u0430 x64 \u043f\u043e\u0434 Windows, \u043d\u0430 .NET 8, 9 \u0438 10.\u0427\u0438\u0441\u043b\u0430 \u0434\u043b\u044f \u0437\u0430\u043c\u0435\u0440\u0430 \u0431\u0435\u0440\u0443\u0442\u0441\u044f \u0438\u0437 \u043c\u0430\u0441\u0441\u0438\u0432\u0430, \u0430 \u043d\u0435 \u043f\u0438\u0448\u0443\u0442\u0441\u044f \u0432 \u043a\u043e\u0434\u0435: \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u043d\u044b\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442 \u043f\u0440\u0438 \u0441\u0431\u043e\u0440\u043a\u0435, \u0438 \u0437\u0430\u043c\u0435\u0440\u044f\u0442\u044c \u0431\u044b\u043b\u043e \u0431\u044b \u043d\u0435\u0447\u0435\u0433\u043e. \u0423 \u0432\u0441\u0435\u0445 \u0438\u0437\u043c\u0435\u0440\u044f\u0435\u043c\u044b\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d\u043e \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u043d\u0438\u0435.\u0414\u0432\u043e\u0438\u0447\u043d\u044b\u0439 \u043f\u043e\u0438\u0441\u043a \u0432 \u043e\u0442\u0447\u0451\u0442\u0435 \u0438\u0434\u0451\u0442 \u043f\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0443, \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0435\u0442: \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u0440\u0430\u0432\u043d\u043e \u0435\u0433\u043e \u043d\u043e\u043c\u0435\u0440\u0443, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043a \u043f\u0430\u043c\u044f\u0442\u0438 \u0437\u0430\u043c\u0435\u043d\u0435\u043d\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435\u043c. \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u043a\u0430 \u0433\u0440\u0430\u043d\u0438\u0446.\u0412 32-\u0431\u0438\u0442\u043d\u043e\u0439 \u0441\u0431\u043e\u0440\u043a\u0435 nint \u0437\u0430\u0439\u043c\u0451\u0442 \u0447\u0435\u0442\u044b\u0440\u0435 \u0431\u0430\u0439\u0442\u0430, \u0438 \u0435\u0433\u043e \u0441\u0442\u0440\u043e\u043a\u0430 \u0432 \u043e\u0442\u0447\u0451\u0442\u0435 \u0431\u0443\u0434\u0435\u0442 \u0434\u0440\u0443\u0433\u043e\u0439.\u041a\u043e\u0434 \u0438\u0437 \u0441\u0442\u0430\u0442\u044c\u0438OverflowProof \u2014 \u0437\u0430\u043c\u0435\u0440\u044b, \u043e\u0442\u0447\u0451\u0442\u044b \u0438 \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0438 \u0441 \u0447\u0435\u0442\u044b\u0440\u0451\u0445 \u043c\u0430\u0448\u0438\u043d\u0421\u0441\u044b\u043b\u043a\u0438Math.Abs: \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043f\u043e\u0441\u043b\u0435 \u0441\u043c\u0435\u043d\u044b \u0437\u043d\u0430\u043a\u0430\u0421\u0435\u0440\u0435\u0434\u0438\u043d\u0430 \u0447\u0435\u0440\u0435\u0437 \u0440\u0430\u0437\u043d\u043e\u0441\u0442\u044c \u0432 ArraySortHelper\u0421\u0435\u0440\u0435\u0434\u0438\u043d\u0430 \u0447\u0435\u0440\u0435\u0437 \u0431\u0435\u0437\u0437\u043d\u0430\u043a\u043e\u0432\u043e\u0435 \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432 SpanHelpers\u0420\u043e\u0441\u0442 \u0441\u043f\u0438\u0441\u043a\u0430 \u0441 \u043e\u0433\u043b\u044f\u0434\u043a\u043e\u0439 \u043d\u0430 \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435\u041e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u044b checked \u0438 uncheckedMath.Abs\u0412\u0441\u0435\u043c \u0443\u0434\u0430\u0447\u0438 \u0438 \u0434\u043e \u043d\u043e\u0432\u044b\u0445 \u0432\u0441\u0442\u0440\u0435\u0447!\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 https:\/\/habr.com\/ru\/articles\/1080958\/<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-494270","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/494270","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=494270"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/494270\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=494270"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=494270"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=494270"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}