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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.09.2012, 11:00   #1
fasty
Пользователь
 
Регистрация: 09.11.2011
Сообщений: 25
По умолчанию Двоичное представление

как посчитать в символе в двоичном представлении которого содержится четное или нечетное количество нулей и едениц?
fasty вне форума Ответить с цитированием
Старый 21.09.2012, 11:34   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

а что вызывает трудности?
1)Берёте код символа, (в паскале это через ord(Символ) делается
2) обнуляем счётчик единиц
3) проверяем код симвлда на нечётность - если нечётное - увеличиваем счётчик единиц на 1.
4) целочисленно делим код на два (или, что тоже самое, сдвигаем число вправо на 1 разряд)
5) если полученное число не равно нулю - перейти к п.3)
6) выводим содержимое счётчика единиц, при необходимости проверяем/сообщаем чётное это число или нет..
7) конец
Serge_Bliznykov вне форума Ответить с цитированием
Старый 21.09.2012, 16:57   #3
f.hump
C/C++, Asm
Участник клуба
 
Аватар для f.hump
 
Регистрация: 02.03.2010
Сообщений: 1,323
По умолчанию

Код:
unsigned symbol;

int zero_count(0), uni_count(0);

for (;;) {    
    zero_count++
    uni_count += symbol % 2;

    if ((symbol /= 2) == 0) break;
}

zero_count -= uni_count;
f.hump вне форума Ответить с цитированием
Старый 21.09.2012, 17:19   #4
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

Код:
var
  c: char;
  u: word;
begin
  read(c);
  u := ord(c);
  //
  u := u xor (u shr 8);
  u := u xor (u shr 4);
  u := u xor (u shr 2);
  u := u xor (u shr 1);
  //
  if (1 = u and 1) then
    writeln('нечетное')
  else
    writeln('четное');
end.
http://ideone.com/BNAD9
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 21.09.2012, 17:47   #5
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

Давайте поизвращаемся:
http://graphics.stanford.edu/~seande...ntBitsSetNaive
waleri вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа выдает двоичное представление целого числа в компьютере (на 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
Двоичное дерево на си++ fesked Помощь студентам 0 22.10.2009 23:44