Всё началось с того, что вчера утром в компьютерной системе Стокгольмской фондовой биржи (Stockholm Stock Exchange) появился необычно крупный лот на покупку 4294967290 фьючерсов на биржевой индекс. Биржевой индекс вычисляется на базе котировок акций 30 крупнейших компаний по капитализации. Каждый фьючерс имеет стоимость почти 107000 крон. Таким образом, общая стоимость лота составляет 459 561 500 030 000 крон, то есть почти 460 триллионов крон! Стоимость лота в 131 раз превышает валовый внутренний продукт Швеции.

Естественно, удовлетворить такой заказ даже теоретически не смог бы ни один продавец. Торги на бирже пришлось временно остановить.

Удивительнее всего, каким образом такой ордер вообще попал в торговую систему. Неужели у кого-то завелись деньги в размере в 131 раз больше национального ВВП?

Представитель Стокгольмской фондовой биржи выступил с пояснением, что на самое деле ни один клиент не размещал такой лот на покупку, а его появление в торговой системе объясняется технической ошибкой по обработке цифр в торговой системе.

Специалисты предложили объяснение, как такое могло произойти. Дело в том, что цифра 4294967290 появилась не случайно.

4294967290 = 2^32 — 6

Таким образом, если система не проверяет тип данных, то заявку с десятичным значением -6 она могла воспринять как целое число со значением 11111111111111111111111111111010 в двоичной системе. При конвертации в беззнаковое целое получается как раз 4294967290.



Оставить мнение