100 / 35 / 21
Регистрация: 17.09.2014
Сообщений: 1,599
1

Вернуть изначальное число из битового сдвига

22.08.2017, 13:24. Показов 510. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть число:
C++
1
int i = 2
Есть переменная:
C++
1
int g_bsumm = 0
Теперь присвоив переменной битовый сдвиг 1цы на число i:
C++
1
g_bsumm = (1<<i)
Получится g_bsumm == 4

Как теперь получить из g_bsumm число i не зная его заранее?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.08.2017, 13:24
Ответы с готовыми решениями:

Функция битового сдвига
Доброго времени суток! Мне необходимо сделать битовый сдвиг в каждом символе текста. На данный...

Атомарна ли операция битового сдвига?
Система: Win7 x64. Один проц Intel i7 3770k. Предположим, что я в студии собираю 64-х битным...

Кодировка путем битового сдвига
Доброго времени суток! Решил следующую задачу: Решить задачу перекодировки текстовой строки в...

Переписать код без использования операций сдвига и "битового and"
как переписать (num &amp; ((1) &lt;&lt; k)) != 0не используя операцию &amp; и &lt;&lt;? Помогите, пожалуйста!

2
Заблокирован
22.08.2017, 13:56 2
C++
1
2
3
//g_bsumm  unsigned лучше
int i;
for(i=0; g_bsumm!=1; i++) g_bsumm>>=1;
C++
1
2
3
//g_bsumm по барабану
int i,k;
for(k=1,i=0; !(g_bsumm & k); i++) k<<=1;
1
18822 / 9826 / 2401
Регистрация: 30.01.2014
Сообщений: 17,260
22.08.2017, 14:20 3
артист,
Эффективные способы:
Для gcc\clang; __builtin_ctz, http://rextester.com/NSSV78518
Для msvc: _BitScanReverse, http://rextester.com/EIH72846

Табличный способ:
http://rextester.com/BTGSE47877

Можно загуглить другие варианты по ключевым словами "сount trailing zero bits".
1
22.08.2017, 14:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.08.2017, 14:20
Помогаю со студенческими работами здесь

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

Определите минимальное количество цифр, в котором могут отличаться изначальное число и y
Вася записал некоторое натуральное число, сумма цифр которого не меньше х. Потом он изменил это...

Нужен оптимальный алгоритм умножение битового числа на инверсное ему число
нужен оптимальный алгоритм умножение битового числа на инверсное ему число. допустим 1100011...

Число 123 нужно поделить на 8 с помощью команд сдвига
Деление с помощью команд сдвига, объясните что да как??? Например число 123 нужно поделить на 8 с...


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

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

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