﻿# V8015\. Suspicious use of the bitwise XOR operator '^'\. The exponentiation operation may have been intended here\.

The analyzer has detected a binary expression that was potentially intended as exponentiation\. The operator ^ was used for this operation, but in reality, ^ performs a bitwise exclusive "OR" operation\.

The operator `^` performs exponentiation in some programming languages, such as Basic, R, and Haskell\. In Go, however, `^` computes the bitwise exclusive "OR" of two operands—that is, a bitwise sum modulo 2\. In Go, to raise a number to a power, use the [`math.Pow`](https://pkg.go.dev/math#Pow) function\. Another option is to use the left bitwise shift operator if a number is multiplied by `2` to the power of `N`\.

The example:

```cpp
x := 2 ^ 16
```

In this example, the expression evaluates to `18` rather than `65536`, which is `2` to the power of `16`\. To get the power of `2`, use the left bitwise shift operator\.

The fixed code:

```cpp
x := 1 << 16
```