Это связано с тем, что емкости хранения кратны степеням двойки. На этом можно было бы закончить ответ ;) но так как вы, наверняка, будете не удовлетворены, продолжу. Емкость равная степени двойки вызвана тем, что используется "двоичный" способ хранения информации, то есть каждая ячейка может принимать значение 0 или 1. Это называется "бит". Объединение 8 бит называется байт. Один или два байта (16 бит) кодируют символ.
Так получилось, что технологически проще выпускать микросхемы хранения битов-байтов кратной емкости. Например две микросхемы по 8 гигабайт, установленные в устройстве, дают нам емкость 16 гигабайт. Четыре - 32 гигабайта. Для того, чтобы сделать емкость 20 гигабайт нам нужно выпустить специальную микросхему с некратной емкостью. Это дорого и не имеет практического смысла.
Впрочем, некоторые некратные емкости встречаются, например существуют SSD не на 128, а на 120, например, гигабайт. Обычно это означает, что недостающие 8 гигабайт спрятаны и используются под служебные нужды.
все бы хорошо, но в устройствах используются мебибайты. тобишь 1000б, 1000кб, 1000мб. Дабы жирнее казалось