Inspectopedia Help

Multiplication or division by power of two

Reports multiplication of an integer value by a constant integer that can be represented as a power of two. Such expressions can be replaced with right or left shift operations for a possible performance improvement.

Note that this inspection is not relevant for modern JVMs (e. g., HotSpot or OpenJ9) because their JIT compilers will perform this optimization. It might only be useful in some embedded systems where no JIT compilation is performed.

Example:

int y = x * 4;

A quick-fix is suggested to replace the multiplication or division operation with the shift operation:

int y = x << 2;

Use the option to make the inspection also report division by a power of two. Note that replacing a power of two division with a shift does not work for negative numbers.

Inspection options

Option

Type

Default

Check divisions by a power of two also

Checkbox

false

Inspection Details

Available in:

IntelliJ IDEA 2023.3, Qodana for JVM 2023.3

Plugin:

Java, 233.SNAPSHOT

Last modified: 13 July 2023