Differenze tra le versioni di "Verificare se un numero è una potenza di 2"
Da Gambas-it.org - Wikipedia.
(Una versione intermedia di uno stesso utente non è mostrata) | |||
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à. |
− | + | ||
+ | |||
+ | ====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 | |
+ | |||
+ | |||
+ | |||
+ | ====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 |
Versione attuale delle 17:02, 1 lug 2024
Per verificare se un numero è una potenza di 2, si possono utilizzare almeno le seguenti due modalità.
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
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