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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Zver6233
36 / 36 / 8
Регистрация: 21.06.2013
Сообщений: 271
Записей в блоге: 1
#1

Что это значит if (x&1) ? - C++

04.12.2014, 00:03. Просмотров 1074. Ответов 4
Метки нет (Все метки)

основным вопросом есть if (x&1) что это за условия? и что это? x>>1.
какая роль в коде?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
unsigned long long  m_recursive (unsigned long long  a, unsigned long long  x, 
unsigned long long  n)
{
   unsigned long long   tmp;
   if (x==1)   return  a%n;
   if (x&1)
      {
    tmp = m_recursive (a, x>>1, n);
    tmp = (tmp*tmp)%n;
    return   (tmp*a)%n;
      }
   else
      {
    tmp = m_recursive (a, x>>1, n);
    return  (tmp*tmp)%n;
      }
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2014, 00:03
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Что это значит if (x&1) ? (C++):

объясните пожалйста что вот это значит: a[1]=COD[input&0x0f]; b[0]=COD[(input>>4)&0x0f];??? - C++
Доброй ночи);) char COD={0b00000000, 0b00001011, 0b00010110, 0b00011101, 0b00100111, 0b00101100, 0b00110001,...

Что это значит? - C++
Что значит условие (!a)?В каком случае будет выполняться правда? if(!a) { // что угодно } else { // что угодно }

a=*b Что это значит? - C++
Подскажите пожалуйста!

что это значит? - C++
в задании есть такой фрагмент if(!(num%div)) что это означает?

что это значит? - C++
Помогите, пожалуйста, разобраться в данном фрагменте программы) char* rus(const char* text) {char *bufRus=new char; ...

Что значит & на конце параметра в функции? - C++
void process_array (IntArray&); Если здесь идет обращение к адресу объекта в ячейке памяти, то почему он не стоит перед самим...

4
Jewbacabra
Эксперт PHP
3016 / 2603 / 965
Регистрация: 24.04.2014
Сообщений: 7,956
04.12.2014, 00:19 #2
http://msdn.microsoft.com/ru-ru/library/17zwb64t.aspx
http://msdn.microsoft.com/ru-ru/library/f96c63ed.aspx
1
SlavaSSU
217 / 162 / 45
Регистрация: 17.07.2012
Сообщений: 587
04.12.2014, 00:22 #3
роль кода - бинарное(быстрое) возведение в степень(по модулю)
0
Zver6233
36 / 36 / 8
Регистрация: 21.06.2013
Сообщений: 271
Записей в блоге: 1
04.12.2014, 00:23  [ТС] #4
&умножения бит?

Добавлено через 28 секунд
Цитата Сообщение от SlavaSSU Посмотреть сообщение
роль кода - бинарное(быстрое) возведение в степень(по модулю)
роль знаю
0
Cookie Monster
16 / 16 / 3
Регистрация: 03.11.2014
Сообщений: 71
04.12.2014, 07:22 #5
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
x&1 - грубо говоря это проверка на четность.
1 = 0...01 поэтому определяющим результат побитового умножения будет младший разряд т.к. нули во всех разрядах кроме младшего у 1 дадут результат побитового умножения на соответствующий разряд переменной х, независимо от того что в нем находится, результат равный 0
Пример :
11001011
&
00000001
=
00000001
или
01010110
&
00000001
=
00000000
Для более разжеванного ответа почитайте главу про побитовые операции в любой книге
Хотя даже в приведенных выше ссылках на МДСН есть вся необходимая информация
0
04.12.2014, 07:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.12.2014, 07:22
Привет! Вот еще темы с ответами:

Что значит это условие - C++
Вот собственно код: if ( ( words = (char**)realloc(words, sizeof(char*) * (cnt + 1)) ) == NULL )

Что значит Singleton& operator = ( Singleton& )? - C++
// Singleton.h class Singleton { private: static Singleton * p_instance; // Конструкторы и оператор присваивания...

Что это такое **&? - C++
Здравствуйте! как загуглить,

Не могу понять, что это значит: while(i<10/2) - C++
/*обращение массива*/ #include &lt;stdio.h&gt; main() { int p,i=0; static a={10,11,12,13,14, 15,16,17,18,19}; while(i&lt;10/2) { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru