정수에 대한 캐스팅은 매우 간단하며 여분의 비트는 사라집니다.Java에서의 부동 소수점 캐스팅
하지만 부동 소수점 캐스팅의 후드에서 어떤 일이 일어나는지 이해하는 것이 중요합니까? 부동 소수점이 어떻게 계산되는지에 대한 정보를 읽으려고 시도했지만, 아직 그것을 잘 설명하는 정보를 찾지 못했습니다. 적어도 그건 내 변명이야. mantissa의 계산이 조금 어렵지만 기본적인 아이디어를 얻습니다.
적어도 자바 7까지, 비트 단위 연산에서는 부동 소수점을 사용할 수 없다는 것을 알고 있습니다. 내부적으로 어떻게 저장되어 있는지 이해하기 쉽습니다. 부동 소수점이 어떻게 작동하는지 또는 캐스팅되는지에 대해 알아야 할 중요한 것이 있습니까?
그래서, 요약 :
는 정수처럼 부동 소수점의 내부 동작을 이해하는 것이 중요하다?
부동 소수점을 정수로 캐스팅하는 내부 프로세스는 무엇입니까?
일반적으로 : 예, 부동 소수점 값의 표현 방법을 이해하는 것이 중요합니다. 이것은 당신에게 꼭 필요한 독서입니다 : [모든 컴퓨터 과학자들이 부동 소수점 연산에 관해 알아야 할 내용] (http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html) –
부동 소수점 숫자가 다양한 표현에서 내부적으로 어떻게 표현되는지에 대한 기초를 최소한 아십시오. 그렇지 않으면 잘못 처리하여 버그를 프로그램에 도입 할 수 있습니다. (0에 직접 비교, 비현실적인 높은 정확도 등을 기대하십시오) –
이 블로그 게시물은 캐스트 구조를 사용하지 않고 부동 소수점 수를 정수로 변환하는 한 가지 방법을 보여줍니다. 의도가 가장 가까운 것으로 반올림하기 때문에 캐스트 구조를 피할 수 있지만, 하드웨어에 구현되는 것에 가깝게 만들거나 더 나은 기능이 이미 없으면 Java로 구현할 수 있습니다. http : // blog.frama-c.com/index.php?post/2013/05/03/nearbyintf2 –