На C такое грустно выписывать. Или на асме, или лучше воспользоваться ОДНОЙ библиотечной функцией для вычисления и частного, и отсатка :-) (Кстати, см ниже мой вариант на тему int2str, только там много всего, лень было вырезать ненужное) (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено ReAl 23 августа 2003 г. 17:23
В ответ на: А поскажите плиз алгоритм деления на 10 (на другое не нужно) для Cи, чтобы сразу и результат был и остаток, и чтобы без вызова билиотечных функций все было? отправлено Кулинар 23 августа 2003 г. 16:45

Одна библиотечная функция - это


#include

div_t dt = div( твоё_число, 10);
остаток в dt.rem
dt = div( dt.quot, 10); // это повторять


Функция div() - часть стандартной библиотеки и есть практически во всех компиляторах. В случае отсутствия у процессора аппаратного деления она просто-напросто реализует высокоуровневый интерфейс к внутренней функции компилятора, которая реализует деление.
А алгоритм деления всегда даёт и частное, и остаток. Итого что при
'/', что при '%' в выражении компилятор вызывает эту внутреннюю функцию и берёт нужную часть её работы.


Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru