Elevamento a potenza: differenze tra le versioni
Vai alla navigazione
Vai alla ricerca
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
| Riga 4: | Riga 4: | ||
===Uso dell'operatore '''^''' === | ===Uso dell'operatore '''^''' === | ||
Molto brevemente ed agevolmente si potrà utilizzare l'operatore '''^''' , come segue: | Molto brevemente ed agevolmente si potrà utilizzare l'operatore '''^''' , come segue: | ||
Public Sub Main() | |||
Dim i As Integer | |||
<FONT Color=gray>' Effettua l'elevamento a potenza: <B>3<SUP>4</sup></b></font> | <FONT Color=gray>' ''Effettua l'elevamento a potenza: <B>3<SUP>4</sup></b>''</font> | ||
i = 3 <FONT Color= | i = 3 <FONT Color=red><B>^</b></font> 4 | ||
Print i | Print i | ||
End | |||
===Uso di specifici algoritmi=== | ===Uso di specifici algoritmi=== | ||
Si potrà utilizzare del codice più complesso. Ad esempio: | Si potrà utilizzare del codice più complesso. Ad esempio: | ||
Public Sub Main() | |||
Dim b, e As Integer | |||
Dim ris As Integer = 1 | |||
b = 3 | |||
e = 4 | |||
While (e) | |||
If e And 1 Then | |||
ris = ris * b | |||
e = e - 1 | |||
Endif | |||
b = b * b | |||
e = e / 2 | |||
Wend | |||
Print "Risultato = "; ris | |||
End | |||
oppure il seguente capace di operare su valori in virgola mobile: | oppure il seguente capace di operare su valori in virgola mobile: | ||
Public Sub Main() | |||
Dim f As Float | |||
f = Potenza(3.75, 3) | f = Potenza(3.75, 3) | ||
| Riga 50: | Riga 47: | ||
Print f | Print f | ||
End | |||
Private Function Potenza(base As Float, esponente As Byte) As Float | |||
Dim pot As Float | Dim pot As Float | ||
If esponente = 0 Then Return 1 | |||
pot = base | |||
While esponente > 1 | |||
Dec esponente | |||
pot *= base | |||
Wend | |||
Return pot | |||
End | |||
Versione delle 16:41, 1 lug 2024
Per effettuare l'elevamento a potenza di un numero, è possibile utilizzare alcune modalità. [nota 1]
Uso dell'operatore ^
Molto brevemente ed agevolmente si potrà utilizzare l'operatore ^ , come segue:
Public Sub Main() Dim i As Integer ' Effettua l'elevamento a potenza: 34 i = 3 ^ 4 Print i End
Uso di specifici algoritmi
Si potrà utilizzare del codice più complesso. Ad esempio:
Public Sub Main()
Dim b, e As Integer
Dim ris As Integer = 1
b = 3
e = 4
While (e)
If e And 1 Then
ris = ris * b
e = e - 1
Endif
b = b * b
e = e / 2
Wend
Print "Risultato = "; ris
End
oppure il seguente capace di operare su valori in virgola mobile:
Public Sub Main()
Dim f As Float
f = Potenza(3.75, 3)
Print f
End
Private Function Potenza(base As Float, esponente As Byte) As Float
Dim pot As Float
If esponente = 0 Then Return 1
pot = base
While esponente > 1
Dec esponente
pot *= base
Wend
Return pot
End
Note
[1] In vero, è possibile utilizzare anche la funzione pow() della libreria condivisa esterna libm.so