Verificare se un numero è una potenza di 2
Vai alla navigazione
Vai alla ricerca
Per verificare se un numero è una potenza di 2, si possono utilizzare almeno le seguenti due modalità.
La prima modalità:
Public Sub Main()
Dim numero, m, c As Integer
Dim s1, s2 As String
m = 1
numero = 16
While m > 0
If (numero And m) > 0 Then
Inc c
Endif
m = m * CInt(2 * 1)
Wend
s1 = "Il numero " & numero
s2 = " è una potenza di 2"
If c = 1 Then
Print s1; s2
Else
Print s1; " non"; s2
Endif
End
La seconda modalità:
Public Sub Main() Dim numero As Integer Dim s As String s = " è una potenza di 2" numero = 16 Print IIf(Frac(Log2(numero)) = 0, numero & s, numero & " non" & s) End