float 과 double의 차이

Sorbet·2021년 12월 23일
0
  • Single precision (float)과 Double precision의 차이점

차이

  • float (Single)옵션 사용시 정밀도는 떨어지는 대신, 메모리, 생성되는 파일의 크기가 감소합니다. 이 때, 사용하는 메모리의 양이나 파일의 크기가 줄어들 경우, 그만큼 시뮬레이션이나 파일 처리 속도가 빨라집니다

float(single precision)

  • 소수점 유효숫자 6자리까지 : 3.14 1592
  • 최대범위 : +/- 3.4e+38
  • 32bit value

double(double precision)

  • 유효숫자 약 16개 : 3.14 1592 6535 8979 32
  • 최대범위 : +/- 1.8e+308
  • 64bit value

왜 float 는 single로 불릴까

  • 옜날옜적에 컴퓨터산업 초기에 소수점을 처음으로 도입될때 그시절 쓰던 IBM 700/7000 같은 컴퓨터들은 대부분 32비트 연산 시스템이였는데, float 32bit type을 한사이클에 처리할수 있어서 single이라고 부르기도 했는데
  • 나중에 좀더 정밀한 소수점 표현을 위해 64비트 소수점 표현은 single의 2배만큼의 비트수인 64bit를 갖게 되므로 double 이라고 불린다고 한다

결론

  • 유효숫자가 7개 이상 필요하거나, 최대로 표현해야할 수가 3.4e+38 이상이라면 double을 쓰고
  • 그렇지 않다면, float를 써도 별 문제가 없으며, 이경우 데이터 및 파일 크기에, 속도나 파일생성 속도에 있어서도 유리할꺼같지만
  • 요즘 데스크탑들은 컴퓨터들은 대부분 64비트 시스템이고 CICS 기반 프로세서(X86, 인텔)들은 double precision 전용 하드웨어 && Instruction Set 이 내장되어있다.
  • 따라서 프로그래밍 언어에서는 모든 경우에 double 사용해도 큰 이상이 없고, 모델링/수치해석 프로그램(카티야, ProE, 등등..)은 툴 최적화에 따라 다름
  • 적어도 X86 시스템에서 double type 자료형 사용에 부담을 느끼는건 1990년대에나 할법한 생각
profile
Sorbet is good...!

0개의 댓글