XuginДеление вообще реализуемо разными алгоритмами. Какой-то может зациклиться, какой-то без явных отдельных проверок делителя на равенство нулю всё равно выдаст результат.
Например простейший «вычитательный» алгоритм
Код:
m := делимое; n := делитель; r := 0
while m ≥ n:
m := m - n
r := r + 1
return r
зациклится.
И всё зависит от того, какие операции мы считаем предзаданными. (Деление и целых, и чисел с плавающей точкой (разумных небольших длин) на многих процессорах для ПК — отдельная операция, и разумеется не реализуется программно. А вот на RISC-микроконтроллерах обычно наоборот.)
или превышения значения самых тяжеловесных числовых форматов
Что конкретно имеется в виду? Что получится, если результат больше, чем представимые значения? Зависит от формата или от спецификации операций, если она каким-то чудом не входит в описание формата. В IEEE 754 в одном случае получится
, но может быть вызвана и ошибка (вот тут я плохо знаю детали). Спецификация может и обходить это стороной, и разные её конкретные реализации могут тогда вполне законно расходиться в том, что делают.
-- Вс окт 06, 2019 23:44:47 --UPD. Дописал в середину.