Кто-то запретил складывать разные числа? Как бы ни было, это одно и то же число в разных бинарных представлениях. Для выполнения арифметики предварительно делается type promotion меньшего типа.Потому как 2(FLOAT) и 2 (INT) это совершенно разные числа, которые не в коем случае нельзя между собой смешивать.26 (DEC) / 1A (HEX). Причём без вариантов.Это сродни тому что выполнить 10(HEX) + 10 (DEC) =???.Как видите, я без проблем сложил десятичное и шестнадцатеричное. Но если бы вы попросили меня сделать это столбиком игнорируя шестнадцатеричность, то я бы сделал, и это оказалось бы на вашей совести, ибо ассемблер. А в высокоуровневом ЯП между нами был бы ещё человек, который каждый раз переспрашивал у вас, в какой системе счисления вы передаёте мне операнды, и если система не десятичная, то переводил бы их для меня.а вот для программиста (особенно ассемблер) это стандартная ошибкаНи в одном типичном ЯП сегодня вы не сможете допустить ошибку, о которой вы говорие, без явного поразрядного приведения типов. Эта проблема решена очень давно, и сегодня я спокойно пишу 2.0f + 2, получая 4.0f.Сейчас OL надежно защищен от данных ошибок.