{{ post.title }}
글 편집
글 편집 (이전 에디터)
{{ post.author.name }}
작성일
Version | {{ post.target_version }} | Product |
{{ product.name }}
|
---|---|---|---|
Tutorial/Manual | {{ post.manual_title }} | Attached File | {{ post.file.upload_filename }} |
Single (Float) vs Double Precision
CAE 소프트웨어를 사용하다 보면 float, double과 같은 표현이 종종 나옵니다.
float, double 대신 single, double이라고 적기도 하는데요.
- float = single precision
- double = double precision
RecurDyn에서도 RFI Optimizer, Output File Generator 등에서 이 표현이 사용됩니다
또한 Particleworks에서도 Solving Option에서 이를 선택할 수 있습니다.
Float과 Double의 차이를 간단히 설명하면
float (Single)옵션의 경우, Double옵션을 사용할 때에 비해 정밀도는 떨어지는 대신, 사용하는 메모리량, 혹은 생성되는 파일의 크기가 약 절반 가까이 감소합니다. 이 때, 사용하는 메모리의 양이나 파일의 크기가 줄어들 경우, 그만큼 시뮬레이션이나 파일 처리 속도가 빨라질 수 있음을 의미합니다.
(여기서 Single은 Single Precision을 Double은 Double Precision을 의미합니다.)
보통은 이 정도만 이해하고 사용하시면 되지만 여기서는 조금 더 자세히 설명을 드리고자 합니다.
사실 이야기가 복잡할 수 있게 간략하게만 설명드리도록 하겠습니다.
1. float:
- 유효숫자 약 7개
- 최대로 표현 가능한 수: 약3.4e+38
- 일명 single precision
- 32bit value
2. double:
- 유효숫자 약 16개
- 최대로 표현 가능한 후 약 1.8e+308
- double precision
- 64bit value
기억해 두실 것은 유효숫자가 7개 이상 필요하거나, 최대로 표현해야할 수가 3.4e+38 이상이라면 double을 써야만 하고, 그렇지 않다면, float (single precision)을 써도 별 문제가 없으며, 데이터 및 파일 크기에 있어서 (그리고 해석속도나 파일생성 속도에 있어서도 유리하다는 점입니다.
자세한 내용은 아래 글을 참고하세요.
https://docs.microsoft.com/en-us/cpp/c-language/type-float?view=vs-2019