std::bit_width
trouve les bits minimum requis pour représenter un nombre entier x
sous la forme de 1+floor(log(x))
Pourquoi std::bit_width
renvoie 0 pour la valeur 0 ? Ne devrait-il pas retourner 1, puisque le nombre de bits requis pour représenter 0 est 1 ?
De plus, je pense que le 1
dans la formule est un décalage.