На самом деле при умножении или делении на ноль вы совершаете операцию масштабирования системы отсчета. Т.е. это операция СИСТЕМНАЯ, поэтому результатом будет являться другая система. Тут все очень просто.
Например если у вас система отсчета это линейка в 20 см, с ценой деления 1 мм, то 4 умноженное на ноль, превратит цену деления этой линейки в 4 мм.
Соответственно СТАРАЯ система отсчета исчезнет и в ответе уже новой системы вы получите новый НОЛЬ, т.е. объект, в свойствах которого прописаны новые свойства касательно параметров системы (цена деления загрублена и новая физическая длина линейки теперь укоротилась до 5 см прежних, но теперь там стоит циферка 20).
А вы думали почему N*0=0? Вы правда верите в аннигиляцию?
Там разные нули слева и справа. Вы сделали логическую операцию по изменению системы.
Если же вы поделили 4 на ноль, то вы соответственно разделили имеющийся миллиметр прежней цены деления на 4 и теперь у вас новая цена деления 1/4 мм, а чтобы 20 сантиметров поместить на новой линейке вам ее надо физически удлиннить до 80 см в прежней системе отсчета. Т.е. произошло масштабирование системы отсчета.
Именно поэтому деление на ноль вызывает переполнение в любом калькуляторе (т.е. вовсе не бесконечность), аналитическая система логично требует еще разрядов в системе, а их ФИЗИЧЕСКИ нет. Ваш калькулятор просто не выполняет эту операцию, хотя мог бы и корректно разделить 4 на ноль. Параметры максимального числа в системе же четко определено разрядностью системы.
Просто калькулятор изначально имеет сколько-то там разрядов и из этой ФИКСИРОВАННОЙ системы отсчета он не выходит никогда. НЕТ в нем процедуры изменения этой шкалы, только и всего. Соответственно если максимально отображаемая шкала там 9999999, то другой она быть просто не может.
Но если бы по уму, то можно было бы промасштабировать эту шкалу и выдать КОНКРЕТНЫЙ вычисленный результат деления на ноль.
Но кому это надо? Никому, правильно. Ведь измененная система отсчета будет давать другие результаты относительно тех, которые делались в прежней. Вам же не понравится если калькулятор при следующем задании 2*2 =, выдаст вам не 4, а 16 и будет прав между прочим. Цена деления системы то поменялась. Нужно будет делать обратные преобразования...не удобно. Вот поэтому системные параметры в калькуляторе и компьютере держат КОНСТАНТАМИ, а всякие стремные операции с нулями не вычисляют вообще.
Многие преподаватели математики даже уверены что калькулятор или компьютер в операциях с нулем что то и в самом деле вычисляет. На самом же деле ВСЯКИЙ раз компьютер проверяет любое число перед действием умножения или деления на ноль, и если один из аргументов ноль, то в ответ ПОДСТАВЛЯЕТСЯ либо ноль либо значок переполнения. Не вычисляется, а подставляется правильный ответ, заметьте. Ну, т.е. если систему не масштабировать, как того требуют данные логические операции, то и правда умножение даст 0, а деление переполнит счетчик в ПРЕЖНЕЙ системе. Полученный ноль это не числовой результат, т.е. ноль здесь не число, а просто системное сообщение что система поменялась.
Поэтому этот ноль нельзя использовать в дальнейших вычислениях если они вдруг получились в середине каких то длинных вычислений. Это ведет к ошибкам масштабирования результатов. Поэтому программисты страшно не любят нули в своих алгоритмах и всячески от них избавляются, встраивают специальные ловушки нулевых значений в вычисляемых сложных функциях и ставят патчи исправления ошибки или обход этого места программой.
А вот школьники всякие и даже преподаватели до сих пор думают, что на ноль делить нельзя или получается неопределенность.
Запомните. Ну НЕ БЫВАЕТ в логике невыполнимых операций, неопределенностей, бесконечностей, парадоксов и прочей ЕРЕСИ. Все эти понятия для идиотов.