Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Быстрый подсчет количества бит - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ задача сорт и поиск бульбашка http://www.cyberforum.ru/cpp-beginners/thread1020528.html
надо по сортировать числа 12 22 15 55 11 21 12 31 13 51 55 15 с помощью буль башки в отсортированном массиве после этова найти максимальное число и минимальное в массиве! также найти определенный...
C++ Написать программу с функцией, вычисляющей расстояние между двумя точками на плоскости Пожалуйста Помогите сделать лабу, нужно что-бы я сам задавал координаты точек на плоскости. http://www.cyberforum.ru/cpp-beginners/thread1020526.html
C++ Отправка письма на email
Здорова господа!!! Пишу щас программку которая должна отсылать письма на email, но ничего не получается. От что набрасал:#include <winsock.h> int main() { cout <<"Rabota c SOCETAMI"<<endl;...
в последней строке файла записаны два слова, переписать в выходной файл лишь те строки в которых есть хотя бы одно из этих слов C++
помогите пожалуйста с задачей: в последней строке файла записаны два слова, переписать в выходной файл лишь те строки в которых есть хотя бы одно из этих слов :help:
C++ приведение NULL к char http://www.cyberforum.ru/cpp-beginners/thread1020499.html
можно ли так писать, если getpwd(login) возвращает NULL? pwds = (char*) getpwd(login);
C++ Запись в массив объекты класса (vector) // oop_laba2_2cpp: определяет точку входа для консольного приложения. //Вариант 6 //Объект – директория. // //Включает в себя //массив //файлов (имя, расширение, размер). // //Методы –... подробнее

Показать сообщение отдельно
ValeryS
Модератор
6676 / 5085 / 475
Регистрация: 14.02.2011
Сообщений: 17,068
28.11.2013, 09:13
Цитата Сообщение от stlex Посмотреть сообщение
Вот окончательный вариант моего класса.
итак
все началось с подсчета, а закончилось целым классом

Цитата Сообщение от stlex Посмотреть сообщение
C++
1
2
3
4
5
6
7
inline bool GetBit( int n )
{
 if( ( 1 << ( n % BITS_COUNT_INT ) ) & myMap[ n / BITS_COUNT_INT ] )
   return true;
    else
  return false;
}
на хрена тебе здесь ветвление ???тормозить будет
тем более явная тавтология
если 1 << ( n % BITS_COUNT_INT ) ) & myMap[ n / BITS_COUNT_INT ] ИСТИНА, то вернуть ИСТИНА
C++
1
2
3
4
inline bool GetBit( int n )
{
  return ( 1 << ( n % BITS_COUNT_INT ) ) & myMap[ n / BITS_COUNT_INT ] )!=0;
}
Цитата Сообщение от stlex Посмотреть сообщение
вот что значит оптимизация компилятора! Думаю, тут только на asm можно что-то существенно оптимизировать.
Не факт
для этого надо очень хорошо знать современные процессоры
распараллеливание команд, организация кэша, выравнивание.....
если посмотришь на код оптимизированной программы то увидишь кучу бесполезных команд типа
mov edx,edx
или замена деления умножением
по коду больше а выполняется быстрее
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru