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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.05.2015, 16:28   #1
Asya7
Пользователь
 
Аватар для Asya7
 
Регистрация: 30.11.2014
Сообщений: 65
По умолчанию двоичное представление

Можете помочь с задачей (нужно решить в паскаль авс)? Указать то число заданного множества целых чисел, в двоичном представлении которого больше всего единиц. И по возможности объясните на словах, что здесь вообще выполняется?
Asya7 вне форума Ответить с цитированием
Старый 19.05.2015, 17:29   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Не знаю есть ли в АБЦе битовые операции, но могу показать на обычном паскале, если покажешь ввод чисел.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.05.2015, 18:19   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Не знаю есть ли в АБЦе битовые операции, но могу показать на обычном паскале
Виталий, проще надо быть!
в любом Паскале можно проверить чётное или нечётное число - тем самым проверяет наличие единички в самом младшем разряде.
Так же в любом Паскале можно число разделить целочисленно на 2 (это равносильно битовому сдвигу на один разряд вправо).
Выполняя в цикле проверку на нечётность, увеличение счётчика, если нечётное, деление на два легко получить число единиц в двоичном представлении числа:
Код:
countOne := 0;
while N > 0 do begin
  if odd(N) then Inc(countOne);
  N := N div 2  
end;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.05.2015, 18:46   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Да я то не против, думаю преподу сие не понравится. Наверное же они там логические операторы проходят. Так то конечно все средства хороши, если твой пример ТС подойдет я только "за"
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.05.2015, 23:18   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Да я то не против, думаю преподу сие не понравится. Наверное же они там логические операторы проходят.
ну, тогда можно так:
Код:
var N, countOne : integer;
begin
  N:=15;
  countOne := 0;
  while N > 0 do begin
    if (N and 1) = 1 then Inc(countOne);
    N := N shr 1
 end;
 WriteLn(countOne)
end.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
двоичное представление числа и просто число maxick96 Общие вопросы C/C++ 9 05.11.2012 21:37
Двоичное представление fasty Помощь студентам 4 21.09.2012 17:47
Программа выдает двоичное представление целого числа в компьютере (на C) MooNDeaR Помощь студентам 5 06.08.2011 14:08
Перевод из натурального десятичного числа в двоичное представление(string) Berserk0 Помощь студентам 3 17.06.2011 00:52
преобразование десятично-точечной записи ip-адреса в их двоичное представление 0vavan0 Работа с сетью в Delphi 1 17.11.2010 09:40