In the Pokémon games, Hidden Power is a Normal-type move when the type is displayed, such as in battle and on status screens. However, the actual type of Hidden Power is determined by the Pokémon's individual values, and through calculation, can be set as one of the sixteen other natural types and with a power between 30 and 70.

Type

Hidden Power's type of a Pokémon with given IVs is represented by a number, calculated with this formula:

where a,b,c,d,e,f (the "type bits") are the least significant bit of their respective IV's. If a number is odd, its least significant bit is 1, and it is 0 otherwise.

a depends on the HP IV.

b and c depend on the Attack and Defense IV's respectively.

d depends on the Speed IV.

e and f depend on the Special Attack and Special Defense IV's respectively.

This simply means that every element of the sum in the brace is the remainder of division of corresponding IV and 2, multiplied by appropriate power of 2 (20 in case of a and 25 in case of f). The sum may range from 0 (when all IVs are even) to 63 (when all IVs are odd), inclusive. It is worth mentioning that the computed sum may be easily calculated by putting its variables a,b,c,d,e,f together in reverse order and interpreting this as a number in the binary system, which then needs to be reverted to decimal system:

fedcba(2) = 32f+16e+8d+4c+2b+a(10)

The summed value is then multiplied by 15 and divided by 63, to be sure that the number representing Hidden Power Type will range from 0 to 15, inclusively (16 values in total). The calculated number is then rounded down (floor[]), which simply means that only integral part of the calculated number is considered.

The resulting number will correspond to a type; utilize the table below.

Damage

Damage of the Hidden Power is calculated in a manner very similar to that of its type, using the following formula:

The variables u through z (the "damage bits") represent the second to last bit of each IV. If a variable has a remainder of 2 or 3 when divided by 4, this bit is 1. Otherwise, the bit is zero.

u depends on the HP stat.

v and w depend on the Attack and Defense stats respectively.

x depends on the Speed stat.

y and z depend on the Special Attack and Special Defense stats respectively.

Like before, the sum may range from 0 to 63, inclusively. The calculated number is then multiplied by 40 and divided by 63 to make sure that the fraction will not exceed 40. Then, the number is increased by 30 and rounded down, making Hidden Power's power a number ranging from 30 to 70, inclusively.

Number of possible Hidden Powers

As there are 6 IVs, ranging from 0 to 31 (32 in total), the number of different possible Hidden Powers should be 326=230, which is more than one billion possibilities. But let us consider two Pokémon with one different IV:

Hit Points

Attack

Defense

Speed

Sp.Attack

Sp.Defense

30

31

31

31

30

31

and

Hit Points

Attack

Defense

Speed

Sp.Attack

Sp.Defense

26

31

31

31

30

31

As we see, both 26 and 30 are divisible by 2 and give the remainder of 2 when divided by 4. So, in both cases the algorithms will interpret the IVs of those Pokémon in the same way, returning Grass-type Hidden Power with 70 power. It means that for the mentioned algorithms an IV of 30 is treated in the same way like IVs of 2,6,10,14,18,22 and 26 (8 in total).

In fact, there are only four essentially different types of IV when calculating Hidden Power:

1.

IV that gives a remainder of 0 when divided by 4 - has damage bit 0 and type bit 0:

0, 4, 8, 12, 16, 20, 24, 28

2.

IV that gives a remainder of 1 when divided by 4 - has damage bit 0 and type bit 1:

1, 5, 9, 13, 17, 21, 25, 29

3.

IV that gives a remainder of 2 when divided by 4 - has damage bit 1 and type bit 0:

2, 6, 10, 14, 18, 22, 26, 30

4.

IV that gives a remainder of 3 when divided by 4 - has damage bit 1 and type bit 1:

3, 7, 11, 15, 19, 23, 27, 31

In other words: only four IVs that give different remainders when divided by four would cover all possible Hidden Power types and powers.

If so, the number of possible Hidden Powers should be 46=212=64*64=4096. This number, however is again far too large, as the real number of possible variations of Hidden power is simply 16*41=656, as Hidden Power exists in 16 types and has 41 different powers. The significant difference between 656 and 4096 is explained by the function floor[], which reduces theoretically different numbers (for example 10.952 and 10.476) to the same integer, or whole number (in this case 10).

Percentage distribution of different variations of Hidden Power

Due to the fact that both Hidden Power's type and its power are the products of rounding down, chances of getting a Pokémon with certain Hidden Power are not equal, as one might have thought, and are different for every Hidden Power's type and damage value.

As it was stated before, the number of theoretically different Hidden Powers is 4096, which is the result of multiplying theoretical values of possible types (64) and powers (also 64). It means that every of 64 "types" comes into 64 "powers". After rounding down, however, the number of 64 "types" is reduced to 16 and the number of 64 "powers" to 41.