Naive Bayes 확률을 계산하고 싶습니다. 계산식은 다음과 같습니다.얼마나 많은 시간을 두 번 캐스팅해야합니까?
Math.Log((n1+1)/(n2+n3))/Math.Log(2)
결과는 두 배가되어야합니다. 여기서 n1..n3은 길어야합니다. 어떻게 캐스팅합니까? 이
Math.Log((double)(n1+1)/(n2+n3))/Math.Log(2)
Naive Bayes 확률을 계산하고 싶습니다. 계산식은 다음과 같습니다.얼마나 많은 시간을 두 번 캐스팅해야합니까?
Math.Log((n1+1)/(n2+n3))/Math.Log(2)
결과는 두 배가되어야합니다. 여기서 n1..n3은 길어야합니다. 어떻게 캐스팅합니까? 이
Math.Log((double)(n1+1)/(n2+n3))/Math.Log(2)
현재 캐스트와 같은
나의 현재 캐스팅이 제대로 작동합니다. 디비전의 피연산자 중 하나가 double이면 다른 하나가 double에도 캐스팅됩니다. , 다른 하나는
피연산자 유형의 두 경우이다 :
넓히는 기본 변환 중 하나 또는 다음과 같은 규칙에 의해 지정된 두 피연산자 변환 적용됩니다
는 Java Language Specification on Binary Numeric Promotion 참조 double로 변환됩니다.
그렇지 않으면 두 피연산자 중 하나가 float 유형 인 경우 다른 하나는 float로 변환됩니다.
그렇지 않으면 두 피연산자 중 하나가 long 유형 인 경우 다른 피연산자는 long으로 변환됩니다.
그렇지 않으면 두 피연산자 모두 int 유형으로 변환됩니다.
좋은 설명, 고맙습니다. –
당신은'Math.log' –
현재 캐스트가 어떤 이유로 작동하지 않습니다 의미하지 않는다 ...? – Radiodef
작동하지만 모든 조건에 대해 사실인지 확인하고 조언이 필요합니다. –