En ce qui concerne le fonctionnement des exposants de puissance, nous utiliserons Math.Pow (Doublea, DoubleB), et le résultat renvoyé est à la puissance de a.
En Java, lorsque nous calculons la puissance N 2, nous pouvons utiliser directement Math.Pow pour calculer. Très pratique.
Cependant, il est connu que le résultat d'une puissance est M et le numéro de base A de la puissance, et nécessite désormais l'exposant N de la puissance. La méthode du journal (double) fourni en mathématiques, mais un seul paramètre est passé, à savoir M., donc la question est de répondre à nos exigences simplement, de manière pratique et rapide? La réponse est la suivante:
n = math.log (m) /math.log (a);
Cette méthode peut satisfaire la plupart de nos calculs d'index de puissance, mais la valeur accessible et la valeur réalisée à chaque fois sont doubles. Que dois-je faire si je ne veux pas le transférer? Nous avons une nouvelle solution.
Prise de solution: le numéro de base de l'indice de puissance est un multiple de 2.
Ici, nous utilisons l'opération de décalage (le fonctionnement de décalage est basé sur le binaire, de sorte que la condition préalable à la solution est cette base). Si nous trouvons la puissance de 2 à 3, nous pouvons utiliser 2 << (3-1) pour calculer le résultat.
À la 2ème puissance de 4, nous devons d'abord convertir 4 en 2e puissance de 2, puis utiliser 2 << (4-1) pour calculer le résultat.
L'effet de la méthode suivante est de passer en deux nombres ajoutés à un multiple de 2, comme 12 (4 + 8), et nous le calculons automatiquement [4,8]
Par exemple, 18, nous le calculons [2, 16]
Par exemple, 22, nous le calculons [2, 4, 16]
/ ** * Convertir en un tableau entier commençant par la puissance de 2, tableau de chaîne * @param SUM La valeur de la faction entrante peut être la valeur d'une faction ou la valeur ajoutée à plusieurs factions * 2 ^ 1 + 2 ^ 2 Cet * oubliant soudainement l'opération de changement 0) {System.out.println ("Vous avez un code Eraor");} else if (sum == 0) {System.out.println ("vous n'avez pas de code de choix");} else {String binaryCode = Integer.TobinaryString (sum); System.out.println ("Binary Code:" + binarycode); int ""; for (int i = 0; i <binarycode.length (); i ++) {if (binarycode.charat (i) == '1') {str = str + index + ",";} index -;} str = str.substring (0, str.length () - 1); system.out.println (str); string [] strary = str.split (","); int [] result = new int [starray.length]; // vous pouvez également renvoyer un tableau de caractères // string [] result2 = new String [starray.length]; for (int i = 0; i <starray.length; i ++) {// result [i] = (int) math.pow (2, double.parsedouble (starray [i])); Résultat [i] = 2 << (Integer.ParseInt (StraRray [i]) - 1);} Retour Résultat;} RETOUR NULL;}Résumer
Ce qui précède est tout le contenu de cet article sur l'analyse du code d'opération de la valeur de l'indice de puissance en Java, et j'espère que cela sera utile à tout le monde. Les amis intéressés peuvent continuer à se référer à d'autres sujets connexes sur ce site. S'il y a des lacunes, veuillez laisser un message pour le signaler. Merci vos amis pour votre soutien pour ce site!