int main()
{
int nodes = 7;
int var_1 = (int)(log((double)(nodes + 1))/log(2) - 1);
int var_2 = (int)(log((double)(7 + 1))/log(2) - 1);
printf("%d\n", var_1);
printf("%d\n", var_2);
return 0;
}
Приведенный выше код инициализирует переменные var_1
и var_2
значениями 1 и 2 соответственно.
Почему они имеют разные значения, поскольку переменная nodes
имеет значение 7, как и константа в следующем уравнении.
Редактировать: я не пытаюсь "исправить" код, или же я мог бы просто присвоить nodes+1
переменной.