Например, int занимает 4 байта
По современному консенсусу, да. Но иногда может занимать 2 байта (меньше — вроде нет).
В случае с double можно задать абсолютно любое число
double x = 1e500;
Ответ статического анализатора Clang:
magnitude of floating-point constant is too large for type 'double'; maximum is 1.79…E+308
На число 1.23456789012345678901234 не жалуется, но учите матчасть — относительная точность double 52 двоичных цифры (исключая головную единицу), или около 16 десятичных.
для чего в конце приписывают 'f' ,когда пользуются типом данных float?
Чтобы расчёт
float x; return x + 12.34f
вёлся в менее точном типе float, а не double.
А вот коду
float x = 12.34;
это совершенно не нужно, компилятор и сам поймёт, что преобразование double → float можно сделать при компиляции.
Сколько бит(байт) занимают типы данных с плавающей запятой в C++?
Зависит от машины, но по выработанному консенсусу — float 4, double 8.
Нестандартная (присущая x86) реализация long double имеет 10 значащих байтов, но 12 или 16 вместе с выравниванием.