전력 지수의 운영과 관련하여 Math.Pow (Doublea, Doubleb)를 사용하며 결과는 a의 전력입니다.
Java에서는 2의 N- 힘을 계산할 때 Math.Pow를 직접 사용하여 계산할 수 있습니다. 매우 편리합니다.
그러나 전력의 결과는 M이고 전원의 기본 번호 A이며 이제 전원의 지수 n이 필요하다는 것이 알려져 있습니다. 수학에 제공된 로그 (Double) 메소드는 하나의 매개 변수 만 전달됩니다. 즉, 질문은 간단하고 편리하고 빠르게 요구 사항을 충족시키는 방법입니다. 답은 다음과 같습니다.
n = math.log (m) /math.log (a);
이 방법은 대부분의 전력 인덱스 계산을 충족시킬 수 있지만 액세스 한 값과 매번 전달되는 값은 두 배입니다. 전송하고 싶지 않다면 어떻게해야합니까? 새로운 솔루션이 있습니다.
솔루션 전제 : 전력 지수의 기본 수는 2의 배수입니다.
여기서 우리는 Shift 작동을 사용합니다 (Shift 작동은 이진을 기반으로하므로 솔루션의 전제 조건 이이 기초입니다). 2 ~ 3의 전력을 찾으면 2 << (3-1)를 사용하여 결과를 계산할 수 있습니다.
4의 2 차 전력으로 먼저 4를 2의 2 차 전력으로 변환 한 다음 2 << (4-1)를 사용하여 결과를 계산해야합니다.
다음 방법의 효과는 12 (4+8)와 같이 2의 배수에 추가 된 두 숫자로 전달하는 것이며 자동으로이를 계산하는 것입니다 [4,8]
예를 들어, 18, 우리는 그것을 계산합니다 [2, 16]
예를 들어, 22, 우리는 그것을 계산합니다 [2, 4, 16]
/*** 2, 스트링 어레이에서 시작하는 정수 배열로 변환* @param 수신 파벌의 값은 여러 진영의 가치 또는 여러 진영에 추가 될 수 있습니다* 2^1 + 2^2 이것은 갑자기 전원 작동을 잊어 버린다* @return*/private static int [] tougrouparray (int sum) {sum <{sum <. 0) {system.out.println ( "당신은 eRaor code가 있습니다");} else if (sum == 0) {system.out.println ( "당신은 선택 코드가 없습니다");} else {string binarycode = integer.tobinarystring (sum); system.out.println ( "binary code :" -binarycode (binarycode); ""; for (int i = 0; i <binarycode.length (); i ++) {if (binarycode.charat (i) == '1') {str = str +index +",";} index-;} str.substring (0, str.length () -1); system.out.println (strarray =); str.split ( ","); int [] result = new int [strarray.length]; // 문자 배열을 반환 할 수도 있습니다 // string [] result2 = new String [strarray.length]; for (int i = 0; i <strarray.length; i ++) {// result [i] = (int) math.pow (2, double.parsedouble (strarray [i]); 결과 [i] = 2 << (integer.parseint (strarray [i]) -1);} return result;} return null;}요약
위는 Java의 전력 지수 값의 작동 코드 분석에 대한이 기사의 모든 내용이며, 모든 사람에게 도움이되기를 바랍니다. 관심있는 친구는이 사이트의 다른 관련 주제를 계속 참조 할 수 있습니다. 단점이 있으면 메시지를 남겨 두십시오. 이 사이트를 지원해 주신 친구들에게 감사드립니다!