C - Minimum Power of 2 Algorithm - Looking for Help to Understand Calc [closed]

I'm just trying to understand how this minimum power of 2 algorithm works, in particular, how this piece of code, result *= 2, returns the minimum power of 2 from the number entered by the user. I cannot seem to figure it out, even when I write it out manually. Any help to clarify would be greatly appreciated!

int main()
{

int userInput, result;

do
{
  printf("Enter a number (-1 to exit): ");
  scanf("%d", &userInput);

  if (userInput > 0)
  {
    result = 1;
    while (result < userInput)
    {
       result *= 2;
    }
    printf("Minimum power of 2 greater than %d: %d\n", userInput, result);
  }

} while (userInput != -1);
return EXIT_SUCCESS;
}

Output when 3 is entered: Min.....3: 4
Output when 5 is entered: Min.....5: 8


Solution 1:

There are no problems with the implementation of this algorithm[1]. This algorithm returns the least power of 2, provided it is greater than or equal to the variable userInput:

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main()
{
    int userInput, result;

    do{
        printf("Enter a number (-1 to exit): ");
        scanf("%d", &userInput);
    
        if (userInput > 0){
            result = 1;
            int counter = 0;
            
            while (result < userInput){
                result *= 2;
                printf("Result: %d\t Counter: %d\n", result, counter++);
            }
        
            printf("Result: %d ^ %d = %d\n", 2, counter, (int) pow(2, counter));
            printf("Minimum power of 2 greater than %d: %d\n", userInput, result);
        }
    
    } while (userInput != -1);

    return EXIT_SUCCESS;
}

In the above application, if the user enters the value 11, the following result is produced:

Enter a number (-1 to exit): 11
Result: 2       Counter: 0
Result: 4       Counter: 1
Result: 8       Counter: 2
Result: 16      Counter: 3
Result: 2 ^ 4 = 16
Minimum power of 2 greater than 11: 16

1 - Smallest power of 2 greater than or equal to n