Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2010, 08:09   #1
Nortos
 
Регистрация: 20.12.2010
Сообщений: 4
По умолчанию нахождение среднего арифметического двух длинных чисел

Написать (используя операцию побитового сдвига*) нахождение среднего
арифметического двух длинных чисел:
unsigned int* avg(unsigned int* a, const unsigned int* b, int size);
a = (a + b) >> 1; size_a = size_b

помогите пожалуйста решить, сколько сидел ни чего не смог придумать(
Nortos вне форума Ответить с цитированием
Старый 24.12.2010, 08:45   #2
airyashov
Форумчанин
 
Регистрация: 02.04.2008
Сообщений: 358
По умолчанию

что тут придумывать тут и так все яснее ясного, выкладывайте результаты посмотрим
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666
mail: airyashov(а)inbox.ru
airyashov вне форума Ответить с цитированием
Старый 24.12.2010, 09:59   #3
x128
Форумчанин
 
Регистрация: 03.02.2010
Сообщений: 178
По умолчанию

Код:
mov  eax, a
add  eax, b
rcr  eax, 1
x128 вне форума Ответить с цитированием
Старый 24.12.2010, 12:58   #4
Nortos
 
Регистрация: 20.12.2010
Сообщений: 4
По умолчанию

щас попробую написать, просто недавно начал изучать асемблер и сложно дается пока что))Ребят помгите написать программу, я заплачу за нее

Последний раз редактировалось Nortos; 24.12.2010 в 13:32.
Nortos вне форума Ответить с цитированием
Старый 31.12.2010, 15:52   #5
DinoAsm
Пользователь
 
Аватар для DinoAsm
 
Регистрация: 29.10.2010
Сообщений: 31
По умолчанию

Цитата:
Сообщение от x128 Посмотреть сообщение
Код:
mov  eax, a
add  eax, b
rcr  eax, 1
Думаю, здесь может появится переполнение. Может следующий код длиннее, но надёжней:
Код:
mov EAX,a
sub EAX,b
sar EAX,1
add EAX,b
2 x128 А зачем в вашем коде циклический побитовый сдвиг?
В гостях - хорошо. Дома – лучше. В пути туда и обратно - терпимо. Стоять в проходе и по пол часа прощаться – ужасно.
DinoAsm вне форума Ответить с цитированием
Старый 31.12.2010, 18:55   #6
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

Цитата:
Сообщение от DinoAsm Посмотреть сообщение
Думаю, здесь может появится переполнение.
...
А зачем в вашем коде циклический побитовый сдвиг?
А вот именно за этим, что может быть переполнение. Если add поставит флаг переполнения, то rcr как раз сдвинет его в старший бит результата.
Somebody вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вычитывание чисел из файла, и нахождение их среднего арифметического Sh@de Помощь студентам 1 18.08.2010 08:40
С++. Подсчёт среднего арифметического Negent Помощь студентам 1 15.08.2010 14:00
Умножение двух длинных целых чисел, представленных двунаправленными связанными списками Rifler Паскаль, Turbo Pascal, PascalABC.NET 0 28.05.2010 19:31
Нахождение среднего арифметического с помощью Паскаля Regina Помощь студентам 3 15.11.2009 11:32
Нахождение среднего арифметического AliVe Паскаль, Turbo Pascal, PascalABC.NET 1 12.04.2007 00:25