Differenze tra le versioni di "Verificare se un numero è una potenza di 2"
Da Gambas-it.org - Wikipedia.
Riga 1: | Riga 1: | ||
− | Per verificare se un numero è una potenza di 2, si | + | Per verificare se un numero è una potenza di 2, si possono utilizzare almeno le seguenti due modalità. |
+ | |||
+ | |||
+ | La prima modalità: | ||
'''Public''' Sub Main() | '''Public''' Sub Main() | ||
Riga 24: | Riga 27: | ||
Endif | 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''' | '''End''' |
Versione attuale delle 16:52, 6 lug 2016
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