^ Operator (Visual Basic)
Höjer ett tal till kraften i ett annat tal.
Syntax
number ^ exponent
Delar
number
Obligatoriska. Alla numeriska uttryck.
exponent
Obligatoriska. Alla numeriska uttryck.
Resultat
Resultatet höjs number
till kraften i exponent
, alltid som ett Double
värde.
Typer som stöds
Double
. Operander av olika typer konverteras till Double
.
Kommentarer
Visual Basic utför alltid exponentering i dubbel datatyp.
Värdet för exponent
kan vara bråktal, negativa eller båda.
När mer än en exponentering utförs i ett enda uttryck utvärderas operatorn eftersom den ^
påträffas från vänster till höger.
Kommentar
Operatorn ^
kan överbelastas, vilket innebär att en klass eller struktur kan omdefiniera sitt beteende när en operande har den typen av klass eller struktur. Om din kod använder den här operatorn i en sådan klass eller struktur bör du se till att du förstår dess omdefinierade beteende. Mer information finns i Operatorprocedurer.
Exempel
I följande exempel används operatorn ^
för att höja ett tal till kraften hos en exponent. Resultatet är den första operand som lyfts till kraften i den andra.
Dim exp1, exp2, exp3, exp4, exp5, exp6 As Double
exp1 = 2 ^ 2
exp2 = 3 ^ 3 ^ 3
exp3 = (-5) ^ 3
exp4 = (-5) ^ 4
exp5 = 8 ^ (1.0 / 3.0)
exp6 = 8 ^ (-1.0 / 3.0)
Föregående exempel ger följande resultat:
exp1
är inställt på 4 (2 kvadrat).
exp2
är inställt på 19683 (3 kubik, sedan det värdet kubd).
exp3
är inställt på -125 (-5 kubik).
exp4
är inställd på 625 (-5 till den fjärde kraften).
exp5
är inställt på 2 (kubroten 8).
exp6
är inställt på 0,5 (1,0 dividerat med kubroten 8).
Observera betydelsen av parenteserna i uttrycken i föregående exempel. På grund av operatorprioritet utför Visual Basic normalt operatorn ^
före andra, även den unary –
operatorn. Om exp4
och exp6
hade beräknats utan parenteser skulle de ha gett följande resultat:
exp4 = -5 ^ 4
beräknas som –(5 till den fjärde strömmen), vilket skulle resultera i -625.
exp6 = 8 ^ -1.0 / 3.0
beräknas som (8 till -1-effekten, eller 0,125) dividerat med 3,0, vilket skulle resultera i 0,04166666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666