Как стать автором
Обновить

Подробности о 17-значном глюке Visa

Время на прочтение1 мин
Количество просмотров691
На днях некоторые владельцы карточек Visa получили завышенные счета за оплату рядовых услуг. В распечатках транзакций по карточке люди видели астрономическую сумму $23,148,855,308,184,500.00 (23,1 квадриллиона долларов) плюс штраф $15 за овердрафт по карточке. Эта сумма во много раз превышает мировой ВВП. Банки и компания Visa после непродолжительного разбирательства сообщили, что ошибка вызвана техническим глюком, но не раскрыли никаких подробностей.

Но на самом деле сумма ошибочно списанного платежа сама по себе выявляет природу ошибки. Вот посмотрите на это число

$23.148.855.308.184.500.00

Скорее всего, на карточке оно хранится как

2314885530818450000

Если перевести его в шестнадцатеричную систему, то мы получим

20 20 20 20 20 20 12 50

Большинство программистов C/C++ уже поняли, в чём ошибка, ведь hex 20 — это пробел. То есть в результате, скорее всего, ошибки программирования в ячейке данных оказались пробелы вместо нулей.

via slashdot
Теги:
Хабы:
Всего голосов 121: ↑111 и ↓10+101
Комментарии72

Публикации