Java 6을 사용하여 의료 기기에서 데이터를 읽는 도구를 설계하고 있습니다.자바에서 가변 클래스로 고정밀도 계산을 수행하는 방법은 무엇입니까?
각 의료 기기 제조업체는 자체 펌웨어/프로토콜을 구현합니다. 제조업체 (나 같은)는 이 제조업체의 펌웨어 명령을 사용하여 의료 기기에서 데이터를 수집하는 자체 인터페이스를 작성합니다. 대부분의 펌웨어는 데이터를 비밀스러운 방식으로 출력하므로 공급 업체가 데이터를 수신하면 실제 값을 계산하기 위해 데이터를 계산하여 데이터를 스케일링해야합니다.
그 나는 모든 수치 계산을하고 최종 값을 저장의 BigDecimal을 사용하는 결론에 도달했습니다
의료 데이터의 정밀도 등 금융 데이터의 정밀도만큼 중요하다고 가정하는 것이 안전합니다. 매초마다 새로운 데이터 세트를 받게 될 것입니다. 즉, 계산을 수행하고 매초 동일한 값 세트를 업데이트 할 것입니다. 예 : 호흡 할 때마다 인공 호흡기에서 데이터가 전달됩니다.
BigDecimal은 불변이므로, 매초마다 힙에서 생성되는 객체의 수에 대해 걱정하고 있습니다. 특히 도구가 동시에 50 개의 장치를 말하는 데이터를 읽도록 확장해야하기 때문에.
나는
질문
내가 사용할 수의 BigDecimal의 가변 사촌이 있는가
.... 내 질문의 여전히 여기에 힙 크기를 증가시키고 모든 것을 할 수 있지만?이와 비슷한 기능을하는 기존의 오픈 소스 프레임 워크가 있습니까?
Java가 이러한 종류의 기능에 적합한 언어입니까?
내가 Apfloat를 조사해야합니까? 그러나 Apfloat 역시 변하지 않습니다. JScience는 어떻습니까?
난 단지 10 개까지 자리의 정밀도를 목표로하고있어
내가 높은 정밀도에 사용할 수있는 자바에 대한 모든 수학 라이브러리. 그 이상은 필요하지 않습니다. 그렇다면이 유형의 정밀도를위한 최상의 라이브러리 또는 작업 과정은 무엇입니까?
@ Alex, @ AaronD and @Bobby - 나는 10 자리의 정밀도를 언급하지 말았어야했다 .... 나는 잘못된 프레이징을 사용했다고 생각한다. 내가 주위에 google 때, 대부분의 사람들은 부동 소수점/double을 사용할 때 계산에서 부정확성에 대해 이야기합니다. 그래서 BigDecimal을 고집하고 싶습니다. [예 : http://epramono.blogspot.com/2005/01/double-vs-bigdecimal.html] – FatherFigure