J'ai écrit ceci jusqu'à ce que je me rende compte que * est une opération arithmétique.Conversion de binaire en décimal sans utiliser d'opérations arithmétiques
Je souhaite renvoyer une représentation entière non négative de l'entrée de la séquence binaire. C'EST À DIRE. 0x4A retourne 74 en décimal
typedef unsigned bit16;
unsigned int bin_to_dec(bit16 x)
{
int dec=0;
int k=0;
int remainder;
while (x!= 0){
remainder = x%10;
dec+=remainder*k;
k=k+2;
x=x/10;
}
:(
Comment dois-je cette conversion si je ne peux pas utiliser des opérations arithmétiques autres que +/-?
Vous avez manqué%, + et/qui sont aussi des opérations arithmétiques. Mais pourquoi? – gnasher729
Si votre fonction est de retourner un 'int', dans quel sens pensez-vous que cette valeur soit décimale plutôt que binaire? –
Vous devriez vérifier vos besoins. Vous devrez peut-être produire une chaîne ou un tableau de caractères, plutôt qu'un int. Quant à la conversion, vous pouvez le faire avec des décalages et des masques, bien que ce soit difficile pour la base 10 (n'étant pas une puissance de 2). – Kenster