컴파일러에 따라 다르지만 일반적으로 float는 4바이트(32비트) 표현이 가능하고요, double는 8바이트(64비트) 표현이 가능 합니다.
여기에 따라 표현할 수 있는 자릿수가 달라지게 되구요, 큰 숫자를 float에 넣어서 print 해보시면 숫자가 이상해지는걸 보실 수 있으실거에요. 그럼 무조건 double을 사용하는 것이 좋지 않냐 라고 생각할 수 있는데요 속도나 메모리 사이즈에 민감한 환경이라면 최적화가 중요하기 때문에 변수에 들어갈 수 있는 맥시멈 값을 예측하여 변수 타입을 정해주시는 것이 좋습니다.