Maison > développement back-end > tutoriel php > Comment implémenter la puissance entière d'une valeur numérique en php (exemple de code)

Comment implémenter la puissance entière d'une valeur numérique en php (exemple de code)

不言
Libérer: 2023-04-04 12:42:02
avant
2957 Les gens l'ont consulté

Le contenu de cet article explique comment PHP réalise la puissance entière des valeurs numériques (exemples de code). J'espère que les amis dans le besoin pourront s'y référer. vous être utile.

Étant donné une base numérique à virgule flottante de type double et un exposant entier de type int. Trouvez la puissance de l'exposant de la base.

Idées :

1. L'expression binaire de l'exposant à la puissance 10^6 peut représenter 10^110 (binaire) 10^100 * 10^10 * 10^000=> ;10^4 * 10^2
2. Opération de décalage

while(n!=0){
    if((n&1)==1)
        res*=curr;
    curr*=curr;// 翻倍
    n>>=1;// 右移一位
}
Copier après la connexion

<?php
function Power($base, $n){
    $res = 1;
        $curr = $base;
    $exponent;
    if($n>0){
        $exponent = $n; 
    }else if($n<0){
        if($base==0) return 0;
        $exponent = -$n;
    }else{// n==0
        return 1;// 0的0次方
    }   
    //$exponent转成二进制,有多少位就循环多少次,curr就执行n+1次方,如果当前位是1的就结果相乘
    while($exponent!=0){
        if(($exponent&1)==1)
            $res*=$curr;
        $curr*=$curr;// 翻倍
        //var_dump($curr);
        $exponent>>=1;// 右移一位
    }   
    return $n>=0?$res:(1/$res);//指数是负数的情况 
}

$a=Power(10,6);
var_dump($a);
~
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
php
source:cnblogs.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal