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

Модульное деление на степень двойки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ C++ почему прога вылетает, не успеваю посмотреть действие http://www.cyberforum.ru/cpp-beginners/thread718705.html
дан массив строк, если какая либо строка заканчивается буквой k, то удалить эту строку, вод что я написал: #include <iostream.h> #include <conio.h> #include <stdio.h> #include <math.h> #include <string> #define n 100 int main() {
C++ В n мерном массиве целых чисел, вычислить сумму отрицательных элементов массива, положительных, и упорядочить все элементы массива по возрастанию Ребят помогите решить! В n мерном массиве целых чисел, вычислить сумму отрицательных элементов массива, сумму положит элементов массива, и упорядотчить все элементы массива по возрастанию http://www.cyberforum.ru/cpp-beginners/thread718693.html
C++ Из чисел от 10 до 99 вывести те, сумма цифр которых равна n
Из чисел от 10 до 99 вывести те, сумма цифр которых равна n (n вводится с клавиатуры, n =< 18) Очень прошу. Заранее благодарен.
C++ CUDA C/C++ сложение векторов
вроде все так делаю, но не запускается не могу понять ошибку делаю с шаблона там просто надо заполнить недастоющие строчки вот шаблон // MP 1 #include <wb.h> __global__ void vecAdd(float * in1, float * in2, float * out, int len) { //@@ Insert code to implement vector addition here }
C++ Квадрат натурального числа n http://www.cyberforum.ru/cpp-beginners/thread718682.html
Проверить, содержит ли квадрат натурального числа n цифру 3 в своей записи. Большое спасибо заранее!
C++ Найти количество слов, у которых первый и последний символы совпадают между собой Помогите пожалуйста написать программу, никак разобраться не могу( подробнее

Показать сообщение отдельно
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
04.12.2012, 17:04     Модульное деление на степень двойки
Будет глючить в том случае, если mod не равно целой степени двойки, если же делать проверку, то на ней потеряешь ещё больше. Вывод: применять только в тех случаях, когда априорно известно, что делитель равен целой степени двойки. И можно даже так:
C++
1
2
3
4
5
6
int mod = 8;//делим на 8
int a = 90412488;//что делим на 8
char b = 113;..тожесамое
int modA, modB;// остатки от деления на 8
modA = a & (mod-1);
modB = b & (mod-1);
. Если mod - константа, то лучше заранее вычислить mod-1, чтоб ещё больше съэкономить: целочисленное вычитание, как и целочисленное сложение хоть и быстрей деления, но всё таки не бесконечно быстрей.
 
Текущее время: 02:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru