stringtranslate.com

2 147 483 647

К 1772 году Леонард Эйлер доказал, что 2 147 483 647 — простое число .

Число 2 147 483 647 — восьмое простое число Мерсенна , равное 2 31  − 1. Это одно из четырёх известных двойных простых чисел Мерсенна . [1]

Простота этого числа была доказана Леонардом Эйлером , который сообщил о доказательстве в письме Даниэлю Бернулли, написанном в 1772 году. [ 2] Эйлер использовал пробное деление , усовершенствовав метод Пьетро Катальди , так что требовалось не более 372 делений. [3] Таким образом, оно улучшило предыдущий рекорд простого числа 6 700 417, также открытого Эйлером сорок лет назад. Число 2 147 483 647 оставалось самым большим известным простым числом до 1867 года. [4]

В вычислениях это число является наибольшим значением, которое может содержать 32-битное целочисленное поле со знаком .

Предсказание Барлоу

На момент открытия 2 147 483 647 было самым большим известным простым числом . В 1811 году Питер Барлоу , не предвидя будущего интереса к совершенным числам , писал (в «Элементарном исследовании теории чисел »):

Эйлер установил, что 2 31  − 1 = 2147483647 — простое число; и это самое большое из известных в настоящее время таковых, и, следовательно, последнее из вышеупомянутых совершенных чисел [т. е. 2 30 (2 31  - 1)], которое зависит от этого, является величайшим совершенным числом, известным в настоящее время, и, вероятно, величайшее из когда-либо открытых; поскольку они просто любопытны, но не приносят пользы, маловероятно, что кто-либо попытается найти что-то за пределами этого. [5]

Это предсказание он повторил в своей работе 1814 года «Новый математический и философский словарь» . [6] [7]

Фактически, большее простое число было обнаружено в 1855 году Томасом Клаузеном (67 280 421 310 721), хотя доказательство не было предоставлено. Более того, в 1867 году было доказано, что 3 203 431 780 337 является простым. [4]

В вычислительной технике

Число 2 147 483 647 (или шестнадцатеричное 7FFFFFFFF 16 ) является максимальным положительным значением для 32-битного двоичного целого числа со знаком в вычислениях . Следовательно, это максимальное значение для переменных, объявленных как целые числа (например, как int) во многих языках программирования. Внешний вид числа часто отражает ошибку, состояние переполнения или отсутствие значения. [8]

Тип данных time_t , используемый в таких операционных системах, как Unix , представляет собой целое число со знаком, отсчитывающее количество секунд с начала эпохи Unix ( полночь по всемирному координированному времени 1 января 1970 года), и часто реализуется как 32-битное целое число. [9] Самое позднее время, которое можно представить в этой форме, — 03:14:07 UTC во вторник, 19 января 2038 г. (что соответствует 2 147 483 647 секундам с начала эпохи). Это означает, что системы, использующие 32-битный time_tтип, подвержены проблеме 2038 года . [10]

1 января 2022 года было сообщено об ошибке в системах Microsoft Exchange , из-за которой не удавалось доставить электронную почту. Внутренний сканер вредоносных программ (включенный по умолчанию с 2013 года) использовал дату и время как 32-битное целое число со знаком. В течение нового года целое число изменится на 2 201 010 001 (первые две цифры обозначают год), превысив максимальное значение для этого типа данных. [11]

В видеоиграх

Число 2 147 483 647 часто становится жестким пределом для различных статистических данных в видеоиграх, таких как очки или деньги, если они представлены 32-битными целыми числами со знаком (а не числами с плавающей запятой , двойной точности или произвольной точности ). [12] [13] Превышение этого предела законными способами, модификацией или взломом игры приводит к множеству различных результатов, вызванных переполнением целых чисел . [14] Наиболее распространенным результатом является «заворачивание» числа в отрицательные числа. Другим потенциальным результатом является сбой игры , что означает, что не было реализовано отказоустойчивое решение в случае, если значение превышает знаковый 32-битный предел — обычно, если базовый движок имеет неопределенное поведение вместо поведения переноса для целочисленного переполнения. Хорошо известным примером в видеоиграх является Old School RuneScape и Grand Theft Auto V , где число используется как максимальное количество монет (или любого другого предмета), которое игрок может удерживать одновременно обычными методами, известными как «максимальный денежный стек». [15] [16] В аналогичных случаях, когда используется 32-битное целое число без знака вместо знака, предел может быть расширен до 4,294,967,295 . [12]

Рекомендации

  1. ^ Вайсштейн, Эрик В. «Двойное число Мерсенна». Математический мир . Вольфрам Исследования . Проверено 29 января 2018 г.
  2. ^ Данэм, Уильям (1999). Эйлер: Господин всех нас . Вашингтон, округ Колумбия: Математическая ассоциация Америки. п. 4. ISBN 978-0-88385-328-3.
  3. ^ Гаучи, Уолтер (1994). Математика вычислений, 1943–1993: полвека вычислительной математики . Материалы симпозиумов по прикладной математике. Том. 48. Провиденс, Род-Айленд: Американское математическое общество . п. 486. ИСБН 978-0-8218-0291-5.
  4. ^ аб Колдуэлл, Крис (8 декабря 2009 г.). «Самое большое известное простое число по годам: краткая история». Главные страницы . Университет Теннесси в Мартине . Проверено 29 января 2018 г.
  5. ^ Барлоу, Питер (1811). Элементарное исследование теории чисел. Лондон: J. Johnson & Co., с. 43. величайший.
  6. ^ Барлоу, Питер (1814). Новый математическо-философский словарь: содержащий объяснение терминов и принципов чистой и смешанной математики, а также таких разделов естественной философии, которые подлежат математическим исследованиям. Лондон: Г. и С. Робинсоны.
  7. ^ Шанкс, Дэниел (2001). Решенные и нерешенные проблемы теории чисел (4-е изд.). Провиденс, Род-Айленд: Американское математическое общество. п. 495. ИСБН 978-0-8218-2824-3.
  8. ^ См., например: [1] [ постоянная мертвая ссылка ] . Поиск изображений в Google обнаружит многие из них со значениями метаданных 2147483647. Например, это изображение , как утверждается, было снято с апертурой камеры 2147483647.
  9. ^ «Базовые спецификации открытой группы, выпуск 6 IEEE Std 1003.1, издание 2004 г. (определение эпохи)» . IEEE и Открытая группа . Открытая группа . 2004. Архивировано из оригинала 19 декабря 2008 года . Проверено 7 марта 2008 г.
  10. ^ "Ошибка 2038 года" . Архивировано из оригинала 18 марта 2009 года . Проверено 9 апреля 2009 г.
  11. ^ Абрамс, Лоуренс. «Ошибка Microsoft Exchange 2022 года в FIP-FS нарушает доставку электронной почты» . Пипящий компьютер . Проверено 2 января 2022 г.
  12. ^ Аб Левер, Ник (6 августа 2012 г.). Director MX 2004 Games: Разработка игр с директором. Тейлор и Фрэнсис. ISBN 978-1-136-14525-4.
  13. Автор (19 сентября 2018 г.). «Final Fantasy Exploit обучает 32-битной целочисленной математике». Хакадей . Проверено 25 сентября 2022 г.
  14. ^ «32-битные целые числа и почему старые компьютеры имеют значение». www.vice.com . 12 апреля 2015 года . Проверено 25 сентября 2022 г.
  15. ^ «Монеты». Официальная Wiki Runescape .
  16. Вуд, Остин (12 июля 2018 г.). «Старая школа Runescape отключилась, поскольку из ниоткуда появляются миллиарды золота» . ПК-геймер . Проверено 25 сентября 2022 г. уместно проверить, что вычисление не выходит за пределы максимального целочисленного предела языка игры (2,1 миллиарда). К сожалению, логика, использованная для этого расчета, была неверной, и при выполнении на стопках других предметов (а не на самом мешочке) результатом было преобразование стопки в 2,1 миллиарда монет.

Внешние ссылки