[1번]
float dd1=123.00993;
int ddd=*((int*)(&dd1));
float gg= *((float*)(&ddd));
이렇게 해야지만 float 값이 다시 gg 에 나타난다
[2번]
float dd1=123.00993;
int ddd=dd1;
float gg= ddd;
이렇게 하면 나타나는 값은 gg==123이 된다
즉 상황에 따라 부동소수점의 값을 유지하고 싶다면 [1번]을 간단히 정수부분만을 때어내고 싶다면 [2번] 을 사용하면 된다
반응형
'프로그래밍(Programming) > c++, 11, 14 , 17, 20' 카테고리의 다른 글
virtual 과 static void 호출 관계 (0) | 2012.11.01 |
---|---|
C++ 캐스팅 dynamic_cast, reinterpret_cast, static_cast (0) | 2012.11.01 |
DWORD -> float 로 변환과 그 역 (0) | 2012.11.01 |
멤버함수포인터와 std::map 의 응용 (0) | 2012.11.01 |
UINT_PTR (32비트 및 64비트 호환 포인터연산) (0) | 2012.11.01 |