2010-01-01 3 views
10

다음 C++ 코드에 해당하는 것은 무엇입니까? 코드가 성공적으로 실행되면
float의 비트를 int로 다시 해석하는 방법

float f=12.5f; 
int& i = reinterpret_cast<int&>(f); 
+0


당신은 확인 했나요? 'int & i = r_c (f)' – SuperSaiyan

+3

어떤 언어로도 번역 할 수 없습니다. 그것은 float의 비트를 int로 해석합니다 !!! 그게 무슨 뜻 이죠? 부동 소수점의 표현은 표준에 의해 정의되지 않았기 때문에 여기서 컴파일러/하드웨어가 사용하는 부동 소수점 표현을 이해하고 이것이 Java 부동 소수점 표현에 매핑된다는 것을 알 경우에만 의미가 있습니다. –

+3

마틴 요크 (Martin York)의 말에 덧붙여, 기술적으로 float 참조에서 int 참조로 구현 정의 매핑 *을 수행하고 있습니다. 엄밀히 말하면, 결과의 int 참조가 같은 객체의 별명임을 보증 할 수 없습니다. – jalf

답변

24
float f = 12.5f; 
int i = Float.floatToIntBits(f); 
+1

+1 ........... :) –

+1

호기심에서 게시 한 내용과 int i = (int) f;의 차이점은 무엇입니까? –

+3

@Montecristo : Java에서 (int) f는 C++에서 static_cast (f)과 같습니다. – missingfaktor

관련 문제