Verificare se un numero è una potenza di 2
Da Gambas-it.org - Wikipedia.
Versione del 6 lug 2016 alle 15:52 di Vuott (Discussione | contributi)
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