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;

Locating this inspection

By ID

Can be used to locate inspection in e.g. Qodana configuration files, where you can quickly enable or disable it, or adjust its settings.

MultiplyOrDivideByPowerOfTwo
Via Settings dialog

Path to the inspection settings via IntelliJ Platform IDE Settings dialog, when you need to adjust inspection settings directly from your IDE.

Settings or Preferences | Editor | Inspections | Java | Performance | Embedded

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

Here you can find the description of settings available for the Multiplication or division by power of two inspection, and the reference of their default values.

Check divisions by a power of two also

Not selected

Availability

By default bundled with

IntelliJ IDEA 2024.1, Qodana for JVM 2024.1,

Can be installed with plugin

Java, 241.18072

Last modified: 18 June 2024