Потому, что в описании немудреные маркетологи неправильно считают память. Дело все в том, что несмотря на приставку в одном килобайте не 1000 байт, а 1024, и в одном мегабайте не 1000 килобайт, а 1024. Так, что если вы 16 000 000 байт (16 Мбайт по описанию) поделите на настоящие мегабайты, то получите немного меньше - примерно 15.25 Мбайт.
Потому, что то, что указывает производитель, это все доступное пространство. Это значит, что некую часть этого пространства будет занимать операционная система, всевозможные данные, которые жутко нужны системе, но вам ничего не скажут. Плюс небольшое округление (1гб=1024мб, эти «лишние» 24 иногда могут «забыть»). Вот и получается, что вместо 16гб у вас всего 12 с копейками.
Хорошо, но почему такое происходит на флешках, sd картах? Они ведь пустые, там же нет ОС?
Какой же я всё таки был идиотом)
В IT 1 килобайт считается не как 1000 байт, а как 2^10 = 1024 байт. 1 Гб = 1,07 Млрд байт. Производители устройств пишут в миллиардах байт, а операционная система показывает в Гигабайтах, от этого и меньше получается.