Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C (СИ) Сортировка чисел из файла в порядке возрастания (перевод с Паскаля) https://www.cyberforum.ru/ c-beginners/ thread1646641.html
Хотелось бы, чтобы вы преобразовали код отсюда: https://www.cyberforum.ru/post1994072.html из Паскаля в Си Условие: сортировка чисел из файла в порядке возрастания
Microsoft Visual Studio 2012 - как создать проект? C (СИ)
Microsoft Visual Studio 2012 и С (Не С++ и не С#) Пытаюсь перейти с Делфи на Си товарищи по работе посоветовали Microsoft Visual Studio, я скачал Microsoft Visual Studio 2012, и не могу разобраться...
C (СИ) Задание размера массива после его объявления во время выполнения программы
Ребята, подскажите, как задать размер массиву во время выполнения. Я напишу пример на java - нужно по аналогии сделать на Си class C { int a; ... void someMethod(int size) { ...
C (СИ) Найти среднее количество букв в словах в предложении Найти среднее количество букв в словах в предложении. Нужно вести предложение на русском. https://www.cyberforum.ru/ c-beginners/ thread1646304.html
C (СИ) Попадание точки в область за 50 шагов https://www.cyberforum.ru/ c-beginners/ thread1646303.html
составить программу на С итеративного характера с целочисленными рекуррентными соотношениями, задающими некоторое регулярное движение точки в целочисленной системе координат (i,j) с дискретным...
C (СИ) Реализация strcat, как сделать поддержку пробельных символов?
Подскажите, как сделать поддержку пробельных символов в моей программе? #include <stdio.h> void mystrcat( char dst, char src) { int i = 0, j = 0; for(i = 0; dst != '\0'; i++) ...
Как вывести отрицательное число, используя printf? C (СИ)
Как вывести отрицательное число, уже много раз чего перепробовал. Использую printf. N = -0,00042;
C (СИ) Найти частоту появления согласных букв в строке (перевод с С++) условия: Найти частоту появления согласных букв в строке. #include <iostream> #include <string> #include <map> using namespace std; int main() { string str; cin >> str; ... https://www.cyberforum.ru/ c-beginners/ thread1646107.html
C (СИ) Присвоение структуре другой структуры из массива структур https://www.cyberforum.ru/ c-beginners/ thread1646040.html
Привет всем вот всё ковыряю задание с клубами. Из-за незнания нюансов и отсутствие практики не могу присвоить и отсортировать массив структур, помогите кому не лень ) Выбивает ошибку на sForSort =...
C (СИ) Возможно ли не дублируя в памяти массив сохранить его состояние до и после сортировки? Вводные: 1. Есть очень большой одномерный динамический массив. 2. Алгоритм программы требует одновременную работу с его содержимым как в сортированном виде, так и в первоначальном состоянии. 3.... https://www.cyberforum.ru/ c-beginners/ thread1645968.html
2 / 2 / 1
Регистрация: 03.11.2014
Сообщений: 128
0

Прокомментировать маленькую функцию

25.01.2016, 12:32. Показов 852. Ответов 3
Метки (Все метки)

Здравствуйте, не понимаю как работает вот эта функция. Заранее спасибо.
Допустим a = 5, n = 4.
C
1
2
3
4
5
6
7
8
9
10
int binpow (int a, int n) {
    int res = 1;
    while (n) {
        if (n & 1)         //не понимаю, что тут проверяется? По идее & это И.
            res *= a; //собственно не понимаю, при каком условии мы сюда входим.
        a *= a;
        n >>= 1;        //здесь как я понял выполняется такая операция 4:(2^1).
    }
    return res;
}
Добавлено через 11 минут
И хотелось бы услышать как будет работать эта функция, если a = 2, n = 3.
C
1
n >>= 1; //просто при таком условии получается что 3:(2^1) n = 1.5


Вернуться к обсуждению:
Прокомментировать маленькую функцию
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.01.2016, 12:32
Готовые ответы и решения:

Прокомментировать функцию сортировки
пожалуйста помогите разобраться в функции сортировки по длине строки вот сама функция сортировки...

Разобрать и прокомментировать рекурсивную функцию
Здравствуйте, начал изучать Си сравнительно недавно, помогите разобрать код &quot;по полочкам&quot;. int...

Преобразование большой буквы в маленькую
printf(&quot;Enter the first line : &quot;); gets(str1); for (int i = 0; i &lt; strlen(str1); i++) if...

Напишите маленькую часть кода. Крестики-нолики
Вот мой код: #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;windows.h&gt; char matrix; ...

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