관리 메뉴

기억을 위한 기록들

[CPP] C++에서의 1e-6f 란? (과학적 표기법/scientific notation) 본문

C & CPP

[CPP] C++에서의 1e-6f 란? (과학적 표기법/scientific notation)

에드윈H 2021. 9. 14. 14:40

언리얼엔진4 소스 UCharacterMovementComponent 를 살펴보던 중 아래와 같은 변수를 발견했다.

const float UCharacterMovementComponent::MIN_TICK_TIME = 1e-6f;

여기서 1e-6f은 무슨 뜻일까? 과학적 표기법(scientific notation)으로 위키에 의하면, 

https://ko.wikipedia.org/wiki/%EA%B3%BC%ED%95%99%EC%A0%81_%EA%B8%B0%EC%88%98%EB%B2%95

과학적 표기법은 너무크거나 너무 작은 숫자들을 다 표기하거나, 사용하기엔 불편해서(?) 십진법으로 편하게 사용하기위해 만든것 같다. 

그 중에서도 소수점 관련하여 아랫부분에

 

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