Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

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

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 13.12.2006, 21:27   #1
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию Битовые операции

Задача вроде бы простая, но я не догоняю её..

Цитата:
В двухбайтной ячейке памяти записана последовательность нулей и единиц. С помощью битовых операций переставьте биты так, чтобы сначала шли все единицы, а затем все нули.
Я думаю сделать так: подсчитать кол-во единиц, потом всё затереть в 0, и допасать столько единиц, сколько насчитали. Но есть есть проблемы со знанием ассем-а. Цикл сделать - труда не составляет, а вот как с битами работат (считать/записать) - проблема...
zetrix вне форума Ответить с цитированием
Старый 14.12.2006, 11:27   #2
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

Ну что ж.. Спасибо за внимание, всё решил сам. Кому интересно, вот листинг (использовался ассемблер в Паскале, т.к. это разрешалось):

Код:
uses crt;
var i,s:integer;
label m1,m2,m0;

begin
write('Введите число: ');
readln(i);
 asm
 mov bx, 0
 mov ax, i
 mov cx, 16
m1:
 shl ax, 1
 JNC m2
 inc bx
m2:
 loop m1
 mov cx, bx
m0:
 shl ax, 1
 add ax, 1
 loop m0
mov s, ax
 end;
write('Полученное число: ',s);
readln;
end.

Последний раз редактировалось zetrix; 14.12.2006 в 15:04.
zetrix вне форума Ответить с цитированием
Старый 14.12.2006, 20:12   #3
rpy3uH
добрый няша
СуперМодератор
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,808
По умолчанию

ты гигант!!!!!
rpy3uH вне форума Ответить с цитированием
Старый 14.12.2006, 21:06   #4
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

не понял...
что ты этим хотел сказать?
zetrix вне форума Ответить с цитированием
Старый 14.12.2006, 21:23   #5
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 15,986
По умолчанию

zetrix, стандартная фраза восхищения, вообще у rpy3uHа их много...
Alar на форуме Ответить с цитированием
Старый 15.12.2006, 11:08   #6
zetrix
Delphi/C++/C#
Участник клуба
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
По умолчанию

А.. ну... спасибо
zetrix вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Битовые операции DrAlexx2121 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 14.06.2008 21:26
Операции с массивами Hakman Помощь студентам 10 19.02.2008 18:36
Битовые операции LEX.darnica Помощь студентам 14 23.12.2007 19:40
Операции над данными yulia БД в Delphi 24 21.05.2007 00:18


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840