Dela via


^ 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

Se även