Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace Articulos.Preguntas.P0720
- {
- public sealed class ComprobacionPotenciaDe2
- {
- public static void Main()
- {
- ulong numero = 8;
- bool esPotenciaDe2 = false;
- esPotenciaDe2 = EsPotenciaDe2 (numero);
- Console.WriteLine ("\n{0} {1}es potencia de 2.",
- numero.ToString (),
- esPotenciaDe2 ? " " : "no "
- );
- numero = 11;
- esPotenciaDe2 = EsPotenciaDe2 (numero);
- Console.WriteLine ("\n{0} {1}es potencia de 2.\n",
- numero.ToString (),
- esPotenciaDe2 ? " " : "no "
- );
- }
- // Este método comprueba que un número entero de 64
- // bits sin signo (ulong) es potencia de 2:
- private static bool EsPotenciaDe2(ulong numero)
- {
- // Primero comprueba que es distinto de 0,
- // luego resta una unidad del número `numero`
- // realiza la operación bitwise AND, finalmente
- // comprueba que sea igual a 0;
- // == 0 -> true
- // != 0 -> false
- return ((numero != 0) && ((numero & (numero - 1)) == 0));
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement