공부/기타

float이 빠를까?, double이 빠를까?

셩잇님 2022. 12. 22. 00:56
반응형

 

 

결론부터 얘기하면 float 자료형과 double 자료형의 성능 비교는 하드웨어 및 소프트웨어 환경, 현재 작업 내용 등과 같은 다양한 요인에 따라 달라질 수 있어 빠름을 비교하는 것이 의미가 없다. 제일 중요한 건, 프로그램 소스코드를 짜면서 나에게 지금 필요한 것이 성능인지, 정밀도인지 생각하고 성능일 경우 float, 정밀도인지 double을 쓰면 된다.

 

일반적으로 float 자료형이 더 적은 메모리를 필요로 하고, 범위가 더 작기 때문에 double 자료형보다는 조금은 빠를 수 있다. 그러나, double 자료형은 정밀도가 더 높기 때문에 보다 float 자료형보다 더 넒은 값을 나타낼 수 있다. 게다가 요즘 출시되는 CPU는 정말 너무나도 뛰어나기 때문에 사칙연산을 기준으로 float : 단 정밀도(single precision) 32비트와 double : 배 정밀도(double precision)의 연산 속도가 동일한 수준이다. (단, 나눗셈은 예외로 한다.)

 

다음 예제는 C++에서 float 및 double 유형의 변수를 선언하고 초기화하는 방법의 예이다.

#include <iostream>

int main()
{
    float f = 3.14159265358979323846;
    double d = 3.14159265358979323846;

    std::cout << f << std::endl;  // Output: 3.14159
    std::cout << d << std::endl;  // Output: 3.141592653589793
}

일반적으로 정밀도가 보통이고, 고성능 데이터 유형이 필요할 때는 float 데이터 유형을 사용하고, 더 넓은 범위를 표현할 수 있는 보다 정밀한 데이터 유형이 필요할 때는 double 데이터 유형을 사용하는 것이 좋다. 만약 작성하고자 하는 코드가 부동 소수점 계산에 크게 의존하지 않는 경우 float 와 double 간의 성능 차이는 중요하지 않다. 결국 코드를 짜면서 중요한 것은 성능과 정밀도 중 내가 무엇을 선택하냐의 차이이다.

 

 


 

 

출처 : https://blog.naver.com/PostView.nhn?isHttpsRedirect=true&blogId=rlackd93&logNo=221326244819&categoryNo=12&parentCategoryNo=0&viewDate=&currentPage=1&postListTopCurrentPage=1&from=search 

 

[데이터타입] double vs. float 연산 속도

 real-time code를 개발하다보면 마주하게 되는 issue. double 연산이 빠를까 float 연산이 빠를까?! ...

blog.naver.com

 

읽어보면 좋은 또 다른 출처. 무려 2005년도 글이 박제되어 있다. 댓글을 보면 어셈블리를 통해 찾아본 사람이 있는데 float이나, double이나 모두 같은 연산을 쓰고 있어서 차이가 없다고 한다.

출처 : https://m.blog.naver.com/PostView.naver?blogId=miraclesky&logNo=60102420771&proxyReferer=http:%2F%2F222.122.119.105%2F 

 

float 와 double 어떤 자료형이 더 빠른가?

데이터 매니져를 구현하다가 문득 든 의문점이 있습니다. " float와 double형 어떤 것이 더 빠를까? " 둘다...

blog.naver.com

 

 

 

반응형