일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 스마트포인터
- 정렬
- C++
- 정렬알고리즘
- BFS
- 람다
- 델리게이트
- map
- 알고리즘
- 강참조
- enumasByue
- UELOG
- 언리얼가비지컬렉터
- 애셋로드
- UE_LOG
- 람다사용정렬
- 자료구조
- 선택정렬
- 크리티컬섹션
- UE4 커스텀로그
- 약참조
- 프로그래머스
- dataasset
- 언리얼엔진구조체
- C++최적화
- unorder_map
- 데이터애셋
- stl
- UML관련
- moreeffectiveC++
- Today
- Total
기억을 위한 기록들
[CPP] C++에서의 1e-6f 란? (과학적 표기법/scientific notation) 본문
언리얼엔진4 소스 UCharacterMovementComponent 를 살펴보던 중 아래와 같은 변수를 발견했다.
const float UCharacterMovementComponent::MIN_TICK_TIME = 1e-6f;
여기서 1e-6f은 무슨 뜻일까? 과학적 표기법(scientific notation)으로 위키에 의하면,
과학적 표기법은 너무크거나 너무 작은 숫자들을 다 표기하거나, 사용하기엔 불편해서(?) 십진법으로 편하게 사용하기위해 만든것 같다.
그 중에서도 소수점 관련하여 아랫부분에
1 -> 계수
e -> e는 10이라고 보면 된다 ( 계수 * e). 지수로 10을 제곱하여 확장한다
-6 -> e의 지수
즉,
1e-6f -> 1 x 10^-6 -> 0.000001을 뜻한다.
반대로
1e6f는 1 x 10^6 - >1000000.0f가 된다.
1e2f 는 100이 된다.
잘사용만 한다면 편리할것같지만,자칫 잘못 쓴다면 더 헷갈릴수도 있을것같다.
특이한점은 해당 변수를 출력해보면,
int main()
{
const float a = 1e-6f;
const float b = 0.000001f;
cout << a << endl;
cout << b << endl;
bool result = a == b;
cout << result << endl;
const float c = 0.0001f;
const float d = 0.00001f;
cout << c << endl;
cout << d << endl;
return 0;
}
a,b 둘다 1e-06 그대로 나온다.
비교 연산자를 해보니 같다는 결과가 나오고,
변수 c까지만 값 그대로 출력되고, d부터(소수점 5번째부터)도 1e-05라고 출력된다.
이런숫자들은 방치형 게임에서 무한하게 늘어나는 숫자들을 표기하기도 한다.
참고사이트 :
https://calculator.name/scientific-notation-to-decimal/1e-6#google_vignette
Convert 1e-6 to number
How to convert 1e-6 to decimal number Before you continue, note that the number 1e-6 is in scientific notation, also known as standard form. Used to write large or small numbers in another way. In the number 1e-6, the numbers are defined as follows: 1 = co
calculator.name
https://ko.wikipedia.org/wiki/%EC%9E%90%EC%97%B0%EB%A1%9C%EA%B7%B8%EC%9D%98_%EB%B0%91
자연로그의 밑 - 위키백과, 우리 모두의 백과사전
자연로그의 밑(base of the natural logarithm)[1]은 무리수인 상수로 2.71828 18284 59045 23536 02874 ⋯ {\displaystyle 2.71828\ 18284\ 59045\ 23536\ 02874\ \cdots } 로 나타내어지며 기호 e {\displaystyle e} 로 표기한
ko.wikipedia.org
'C & CPP' 카테고리의 다른 글
[CPP]std::function에 관하여 (0) | 2022.02.02 |
---|---|
[CPP] using 과 typedef (0) | 2021.11.10 |
[CPP] C++ 최적화에 관하여 (3-3) (0) | 2021.08.22 |
[CPP] C++ 최적화에 관하여 (2-3) (0) | 2021.08.16 |
[CPP] C++ 최적화에 관하여 (1-3) (0) | 2021.07.25 |