![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| MarshallM |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 4.3.2009 Репутация: нет Всего: нет |
vinter, нет, готовое не хочу))) Хочу помощи в алгоритме, язык то вспомнить это ерунда. Голова на месте...
|
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 9 Всего: 59 |
Может это поможет: Деление двоичных чисел в столбик |
|||
|
||||
| Albor |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 589 Регистрация: 28.2.2009 Репутация: нет Всего: 9 |
Как вариант, можно организовать последовательное вычитание делителя из делимого, как уже предлогалось. Из байта вычесть байт мы можем, можем организовать -1 в байте выше по старшинству в случае отрицательного результата, можем последовательно сравнить, на предмет остатка, начиная со старшего байта. Итог: задача вполне решаема, нужно только потратить какоето количество времени.
|
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
При делении столбиком понадобятся алгоритмы вычитания, сранения, умножения на однозначное число. Как они у тебя реализованы?
Как удобнее передавать параметры? Возможно их передавать через такой стек:
|
|||
|
||||
| xvr |
|
||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Ну очень специфичный микропроцессор
|
||||||
|
|||||||
| MarshallM |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 4.3.2009 Репутация: нет Всего: нет |
xvr, МП и на самом деле весьма специфичный, поэтому вопрос и стоит так коряво, самого аж накаляет... Ну как бы так и не иначе. Пусть переменная типа int и может хранится в четрых ячейках памяти, но оперировать числом как единым целым я опять же не смогу. В дынный момент смогу лишь прочесть все числа из памяти последовательно. Сохранить полученное число типа int мне просто некуда, поэтому и оперирую именно цифрами конкретного четырех байтового числа.
Неее велосипед я не изобретаю))) Albor, знаю что задача вполне решаема, и уже практически за вчерашний вечер реализовал. Получается конечно вырезание гланд через ...., но вроде результат близок))) Всем спасибо! |
|||
|
||||
| xvr |
|
||||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Почему? Компилятор может, а вам что мешает?
|
||||||||
|
|||||||||
| MarshallM |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 4.3.2009 Репутация: нет Всего: нет |
xvr, а если я добью это все дело таким танцем)))
Команда printf подвешивает МП компилируя код на долгий промежуток времени, каким образом она отнесется к операциям с переменными типа long??? Как считаете? |
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
Ваш компилятор должен поддерживать работу по крайней мере с 16-разрядными числами. 8-разрядные указатели - это слишком мало. Ho он может считать long 16 разрядным (я не знаю какой у Вас процессор)
printf подвешивает компилятор скорее всего потому, что у него параметры переменной длины. пользуйтесь itoa() и atoi() для перевода числа в текстовое представление или наоборот. |
|||
|
||||
| xvr |
|
||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Команда printf занимается кучей работы по форматированию и выводу. К умножению long'ов сие никакого отношения не имеет
Огласите, пожалуйста, нафига вам это (умножение 32х битных чисел) надо и почему не устраивает то, что есть в компиляторе? |
||||||
|
|||||||
| MarshallM |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 4.3.2009 Репутация: нет Всего: нет |
вот с этим я не поспорю))) |
|||
|
||||
| chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
а может топик стартеру стоит озвучить что за процессор такой?!
Добавлено через 12 минут и 40 секунд а вообще попахивает каким-то курсовым проектом - извращенец-препод придумал задачку, которую поди сам не решил даже Это сообщение отредактировал(а) chaos - 6.3.2009, 14:40 |
|||
|
||||
| MarshallM |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 4.3.2009 Репутация: нет Всего: нет |
МП 6502 - самый простой. Все таки при объявлении переменной типа int наступает тишинаааа....)))
Попахивает курсовым))) Что самое интересное, что мне бы наверное так же показалось бы. |
|||
|
||||
| chaos |
|
|||
![]() Серийный программист ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2979 Регистрация: 7.7.2004 Где: Екатеринбург Репутация: 6 Всего: 44 |
||||
|
||||
| MarshallM |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 4.3.2009 Репутация: нет Всего: нет |
chaos,
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |