Отлаживаю программу. Вижу значение одной из переменных:

0x0001E31

Тогда я в основном отлаживал вычислительную часть и работал с числами с плавающей точкой. Смотрю -- ну-ну, 1*1031? Неплохо. Не то, что я ожидал, но могло быть намного хуже.

Это экспоненциальная компьютерная нотация. Она принята всякими стандартами ИСО, ИЕЕЕ и прочими страшными буквами. К концу института я полностью перешёл на запись чисел с буквой "e", потому что это быстрее, удобнее -- и меньше риск опечатки из-за того, что верхний индекс в показателе степени вдруг окажется написан коряво. Некоторым преподам приходилось об'яснять, что это за нотация.

Но меня в записи этого числа смущала одна вещь, а именно 0x в начале. Это обозначение шестнадцатеричного числа, опять-таки, в компьютерной (си-шной) нотации. В комбинации шестнадцатеричная и экспоненциальная нотация вступали в противоречие. Число не может быть записано двумя способами одновременно. Сначала я подумал, что в среде разработки баг -- и она к экспоненциальным числам в начале дописывает 0x. Но потом я прошёлся по соседним переменным с плавающей точкой.

ОКАЗАЛОСЬ

что все эти переменные отображались в обычном шестнадцатеричном формате. В "сыром" виде. Никакого экспоненциального формата для других переменных не выводилось. То есть, я видел простое шестнадцатеричное число, которое выглядело как число с плавающей точкой. Буква E находилась в этом числе на законных основаниях, потому что в шестнадцатеричных числа она обозначает цифру четырнадцать. А на самом деле значение переменной было 1.08E-41 .