Pull to refresh

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

Reading time1 min
Views715
На днях некоторые владельцы карточек 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
Tags:
Hubs:
Total votes 121: ↑111 and ↓10+101
Comments72

Articles