Действительно, число с плавающей запятой занимает 4 байта (32 бита), но, поскольку это число с плавающей запятой, вы должны хранить разные вещи в этих 32 битах:
- 1 бит используется для знака (+/-)
- 8 бит используются для показателя степени
- 23 бита используются для значащих и (значащих цифр)
Вы можете видеть, что диапазон значений с плавающей запятой напрямую зависит от количества битов, выделенных для значимого, а значения min / max зависят от количества битов, выделенных для показателя степени.
С верхним примером:
- 8 бит для показателя степени (= размер символа) дает диапазон показателя [-128,127]
-> максимум составляет около 127 * log10 (2) = 10 ^ 38
Что касается длинного целого, у вас есть 1 бит, используемый для знака, а затем 31 бит для представления целочисленного значения, приводящего к максимуму 2 147 483 647.
Вы можете взглянуть на Википедию для более точной информации:
Википедия - Плавающая точка