* 10^(- 20)을 곱하면 어떻게 될까요? 어떤 대수 함수도 찾을 수 없으므로 다른 것들이 있기를 바랍니다.매우 작거나 매우 큰 숫자를 곱하는 함수
답변
I은 로그 함수를 사용하지 않을 내가 Math.pow
double d = a * Math.pow(10, -20);
Java는 부동 소수점 리터럴을 지원하므로 다음과 같이 작성할 수 있습니다.'a * 1.0e-20' – Douglas
계산을 위해 큰 값을 저장할 수있는 BigDecimal 클래스를 사용할 수 있습니다.
왜이 답변은 1을 뺀 것입니까? OP에서 어디에서 부동 소수점 값을 언급합니까? 최근에 문제가 수정 되었습니까? 부동 소수점 숫자를 사용했다하더라도 매우 작은 숫자에 대한 계산을 수행하고 부동 소수점을 사용하면 BigDecimal과 같은 클래스를 사용하여 피할 수있는 많은 문제가 발생합니다. 정확성을 유지하고 부동 소수점 산술로 인해 발생하는 문제를 피하는 것이 중요합니다. – Asaf
@JimLewis - 부동 소수점/복식으로 계산할 때 BigDecimal을 사용하는 것을 방지하지 않습니다. 반대로 float 및 double 유형을 사용하는 것이 훨씬 안전하고 함정이 줄어 듭니다. 여기 [here] (http://www.ibm.com/developerworks/java/library/j-jtp0114/) 또는 [here] (http://stackoverflow.com/questions/6320209/javawhy-should- we-use-bigdecimal- 대신 double-in-the-real-world) –
@inistel : 원본 답변에서 링크의 첫 번째 문장에 잘못 읽었습니다. "이 클래스는 불변의 정수 값을 나타냅니다. 길이." 하지만 이제는 정수가 아닌 정수를 표현할 수 있음을 알았습니다. 나는 여전히 그것이 OP가 조사해야하는 해결책이 아니라고 생각한다. 그러나 나는 행복하게 downvote를 철회 할 것이다. –
Java doubles
은 4.9 * 10^-324에서 1.7 * 10^308까지의 양수 또는 음수를 포함합니다. 숫자가 해당 범위에 맞고 부동 소수점 정밀도를 사용하면 기꺼이 *
연산자를 사용할 수 있습니다.
Math.log
방법에 대한 설명서는 here입니다.
- 1. 매우 큰 숫자를 나누는 알고리즘
- 2. 어떻게 CPU가 매우 큰 숫자를 처리합니까?
- 3. 매우 큰 숫자의 vb.net
- 4. 매우 큰 목록에 합류
- 5. 매우 큰 목록을 직렬화
- 6. 매우 큰 파일의 XOR
- 7. 레일 매우 큰 테이블
- 8. 은 매우 큰 문자열을
- 9. C# RSClientPrint 매우 큰 스풀
- 10. 매우 큰 정수 곱셈과 또한
- 11. 매우 큰 벡터를 만드는 방법
- 12. 메모리에 매우 큰 문자열이 있습니다.
- 13. SQL SSRS 매우 큰 추출물
- 14. iPad에 매우 큰 이미지 표시
- 15. 매우 큰 새들의 추출 점
- 16. Qt에서 매우 큰 이미지 처리
- 17. SQL Server의 매우 큰 테이블
- 18. Oracle에서 매우 큰 색인 생성
- 19. 매우 큰 텍스트 파일로 페이징하기
- 20. ip_len이 매우 큰 값으로 설정되었습니다.
- 21. 매우 큰 디렉토리의 정보 검색
- 22. WPF 및 매우 큰 이미지
- 23. 크기가 매우 큰 배열 할당
- 24. 매우 큰 int에서 모듈로 C#
- 25. 파이썬에서 매우 큰 지수 계산
- 26. 매우 큰 Jar 파일과 FAT32
- 27. 매우 큰 폴더의 파일을 필터링하십시오.
- 28. OutofMemoryException - 매우 큰 이미지로드 중
- 29. optomise 매우 큰 테이블 쿼리
- 30. 플라스틱 SCM이있는 매우 큰 저장소
자바'범위를 커버 doubles' 사용할 것이다 4.9 * 10^-324 포지티브 또는 네거티브 1.7 * 10^(308)에 관한 것이다. 충분하니? 그렇다면 정상적인'*'연산자 만 사용할 수 있습니다. – Douglas
그리고 Math 유틸리티 클래스에는 많은 로그 메소드가 있지만 더글라스의 설명을 지원합니다. 대답 인 경우 위 표를 사용합니다. –
a에 1e-20을 곱하면 되겠습니까? –