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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.01.2013, 14:29   #1
abc1234
Новичок
Джуниор
 
Регистрация: 16.01.2013
Сообщений: 3
Радость Написать функцию подсчета суммы битов в байте

Помогите пожалуйста!)

Написать функцию подсчета суммы битов в байте.
Заранее спасибо

на Си
abc1234 вне форума Ответить с цитированием
Старый 16.01.2013, 14:41   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Код:
int SumOfBits1(char byte){
  static const int hex[] = {0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4};
  return hex[byte%16] + hex[byte/16];
}

int SumOfBits2(char byte){
  int ret = 0;
  char mask = 0x01;
  for(int i=0; i<8; ++i){
    if(byte & mask) ++ret;
    mask <<= 1;
  }
  return ret;
}
Abstraction вне форума Ответить с цитированием
Старый 16.01.2013, 14:59   #3
abc1234
Новичок
Джуниор
 
Регистрация: 16.01.2013
Сообщений: 3
По умолчанию

Спасибо
но вот ругается codeBlocks
error: 'for' loop initial declarations are only allowed in C99 mode
abc1234 вне форума Ответить с цитированием
Старый 16.01.2013, 15:23   #4
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Ну вынесите объявление i из цикла. Или включите C99 mode, что, на мой взгляд, является более правильным решением.
Abstraction вне форума Ответить с цитированием
Старый 16.01.2013, 15:33   #5
abc1234
Новичок
Джуниор
 
Регистрация: 16.01.2013
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Abstraction Посмотреть сообщение
Ну вынесите объявление i из цикла. Или включите C99 mode, что, на мой взгляд, является более правильным решением.

Спасибо большое! А вот вопрос она ничего не должны выводить получается?
abc1234 вне форума Ответить с цитированием
Старый 16.01.2013, 15:38   #6
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
Написать функцию подсчета суммы битов в байте.
Где здесь хоть слово про "выводить"? Вот функция, она берёт байт и возвращает сумму битов. Дальше делайте с этой суммой что хотите - выводите, умножайте на семнадцать, используйте в качестве индекса массива...
Abstraction вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
формула для подсчета суммы shrjanayin Microsoft Office Excel 2 19.02.2011 11:25
Изменение подсчета суммы sergantikus Microsoft Office Excel 5 12.02.2011 17:21
Изменение битов в байте bondik Общие вопросы .NET 1 08.10.2010 22:02
Процедура подсчета суммы heavenly Общие вопросы по Java, Java SE, Kotlin 2 17.05.2010 21:09
Подсчета суммы. Delphi Damer Помощь студентам 2 31.03.2010 17:17