177 / 158 / 12
Регистрация: 03.11.2012
Сообщений: 1,113
1

Найти порядок числа, операцией сдвига

18.11.2014, 18:41. Показов 4256. Ответов 7
Метки нет (Все метки)

Здравствуйте.
Задание: найти порядок n для целого числа k https://www.cyberforum.ru/cgi-bin/latex.cgi?\leq {2}^{n} при помощи операций сдвига.
Например, ввели 256, прога выдала 8.
Я думаю, надо сделать цикл со счётчиком: двойку возводить в степень 2, 3, 4 и т.д., пока оно не станет равно введённому числу. Но возводить в степень надо операцией логического сдвига.
Да ?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.11.2014, 18:41
Ответы с готовыми решениями:

Замена sqrt операцией сдвига
Как получить корень из числа без функции SQRT ? Именно - операцией сдвига...

Найти порядок n для целого числа k
2. Найти порядок n для целого числа k < {2}^{n} при помощи операций сдвига.

Вывести операцией деления нацело - нечётные числа
спасите, не могу понять как это сделать... Дано целое число N(>0). Используя операции деления...

Организовать последовательный поиск и вывол числа операцией сравнения
Помогите,нужно написать программу организовать последовательный поиск и вывол числа операцией...

7
118 / 118 / 41
Регистрация: 14.12.2013
Сообщений: 352
18.11.2014, 18:58 2
Лучший ответ Сообщение было отмечено Matwei как решение

Решение

Цитата Сообщение от Matwei Посмотреть сообщение
Да ?
да)

x = pow(x, 2) даст тот же результат, что и x <<= 1. Смекаешь?)

Добавлено через 5 минут
только для 256 - 9, если учесть, что нумерация с 0.

C++
1
2
3
4
5
6
7
8
9
10
11
    std::cout << "Enter value:\n";
    unsigned int    value = 0;
    std::cin >> value;
    unsigned int tmp = 1;
    int     counter = 0;
    while(tmp <= value)
    {
        ++counter;
        tmp <<= 1;
    }
    std::cout << counter;
1
72 / 69 / 38
Регистрация: 09.10.2012
Сообщений: 238
18.11.2014, 18:59 3
Цитата Сообщение от Matwei Посмотреть сообщение
Я думаю, надо сделать цикл со счётчиком: двойку возводить в степень 2, 3, 4 и т.д., пока оно не станет равно введённому числу.
Так только степени двойки будут получаться. А число-то может таким и не являться.
1
118 / 118 / 41
Регистрация: 14.12.2013
Сообщений: 352
18.11.2014, 19:02 4
mishelle92,
Цитата Сообщение от Matwei Посмотреть сообщение
k <= 2^n
1
72 / 69 / 38
Регистрация: 09.10.2012
Сообщений: 238
18.11.2014, 19:06 5
mss307, На это и намекал)
0
118 / 118 / 41
Регистрация: 14.12.2013
Сообщений: 352
18.11.2014, 19:09 6
mishelle92, ааа, ну, да, понял)
0
177 / 158 / 12
Регистрация: 03.11.2012
Сообщений: 1,113
18.11.2014, 19:46  [ТС] 7
Всё робит, спс)
0
118 / 118 / 41
Регистрация: 14.12.2013
Сообщений: 352
18.11.2014, 22:18 8
Matwei, не за что!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.11.2014, 22:18
Помогаю со студенческими работами здесь

Составить функцию которая добавляет в начало числа, увеличивая порядок числа на 1.
Здравствуйте, помогите решить задачу на C++: Составить функцию, которая, получив целое число,...

Процедура сдвига столбцов матрицы вправо или влево в зависимости от знака вводимого числа К
Приветствую всех ) Я как начинающий программист прощу помощи, потому что у самого уже голова кипит...

порядок группы равен 4 и в ней только 1 элемент имеет порядок 4. какой порядок имеют остальные элементы? сколько в ней подгрупп?
Совсем не чего не понятно

Составить программу "сдвига" цифр натурального числа N на K позиций
Составить программу &quot;сдвига&quot; цифр натурального числа N на K позиций вправо по правилу: при &quot;сдвиге&quot;...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru