# pow

Learn how to use the exponentiation (^) operator in Notion formulas.

The power (^) operator (also known as the exponentiation operator) allows you to raise a number to a higher power.

number[base] ^ number[exponent]

pow(number[base], number[exponent])

number[base].pow(number[exponent])
Code language: JavaScript (javascript)

In technical terms, it raises the first operand to the power of the second operand.

In Notion, the ^ operator has a higher operator precedence than the unaryPlus and unaryMinus operators, and has right-to-left associativity.

You can also use the function version, pow().

3 ^ 4 /* Output: 81 */

pow(4,3) /* Output: 64 */

4.pow(3) /* Output: 64 */

2 ^ 2 ^ 3 /* Output: 256 - evaluates as 2 ^ (2 ^ 3) */
Code language: JavaScript (javascript)
• $$x^0 = 1$$
• $$(x^a)^b = x^{ab}$$
• $$x^{a^b} = x^{(a^b)}$$ (not all languages respect this, but Notion does)
• $$x^a * y^a = (xy)^a$$
• $$x^a / y^a = (x/y)^a$$
• $$x^a * x^b = x^{a+b}$$
• $$x^a / x^b = x^{a-b}$$

In Notion, the ^ operator has right-to-left associativity, which means that x ^ y ^ z is evaluated as x ^ (y ^ z).

4 ^ 3 ^ 2 == 262,144

4 ^ (3 ^ 2) == 4 ^ 9 == 262,144

(4 ^ 3) ^ 2 == 64 ^ 2 == 4,096

/* Here's that last one according to the (x^a)^b == x^(ab) "Power Rule": */

(4 ^ 3) ^ 2 == 4 ^ (3*2) == 4 ^ 6 = 4,096
Code language: JavaScript (javascript)

Not every programming and scripting language uses right-to-left associativity for serial exponentiation. Here’s a write-up comparing the methods for many popular languages. Even though standard mathematical notation has the “Tower Rule”, where $$x^{a^b} = x^{(a^b)}$$ (aka: “Work top-down”), the computer science community has not come to a strong consensus on whether x^y^z should be interpreted in the same way.

The table below shows exponentiation at work in a Notion database.

prop("Base") ^ prop("Exponent")
Code language: JavaScript (javascript)

Instead of using hard-coded numbers, I’ve called in each property using the prop() function.