Самый быстрый способ вычисления степени, которую использовало число «степень 2»?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Самый быстрый способ вычисления степени, которую использовало число «степень 2»?

Сообщение Anonymous »

Каким будет самый быстрый способ найти степень 2, которую использовало определенное число (то есть степень двойки)?

Я не очень разбираюсь в математике, поэтому не знаю, как лучше это описать. Но функция будет выглядеть примерно так: x = 2^y, где y — это выход, а x — это вход. Вот таблица истинности того, как бы это выглядело, если бы это помогло объяснить это.

0 = f(1)
1 = f(2)
2 = f(4)
3 = f(8)
...
8 = f(256)
9 = f(512)


Я создал функцию, которая делает это, но боюсь, что она не очень эффективна (или элегантна, если уж на то пошло). Есть ли более простой и эффективный способ сделать это? Я использую это, чтобы вычислить, какая область текстуры используется для буферизации процесса рисования, поэтому она вызывается хотя бы один раз для каждого нарисованного объекта. Вот функция, которую я сделал на данный момент:

uint32 getThePowerOfTwo(uint32 value){
for(uint32 n = 0; n < 32; ++n){
if(value

Подробнее здесь: https://stackoverflow.com/questions/214 ... umber-used
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»