J'essaie de créer une fonction en C ++ qui prendra un numéro de DEN et de renvoyer un tableau BOOL qui représente un numéro binaire / base 2, j'ai besoin que la matrice soit de 16 articles, toute aide serait appréciée merci. < / p>
4 Réponses :
Vous pouvez utiliser std :: bitset
directement sans fonction de la manière suivante
0000000000000010
Merci @asmmo Vous m'avez aidé tellement aidé.
sauf pour bitset code>, vous pouvez écrire votre propre algoritm:
Le consexpr est une belle touche.
@Jeffrey ahah ide le suggère donc je l'ai ajouté
qu'est-ce que l'IDE est
@asmmo Visual Studio avec une demi-douzaine d'extension, ne peut pas dire lequel se plaignait de cela
@ Berto99 et mon ordinateur est en difficulté pour exécuter Visual Studio avec juste Restos.
@_STICTIC_ASSERT Il y a une raison pour laquelle mon studio visuel prend environ 10 minutes pour ouvrir Ahah
Une autre solution pour vous; J'ai vu votre question et les réponses fonctionnent plutôt bien en utilisant le Bitset. Mais j'ai proposé une solution différente pour vous si vous ne voulez pas utiliser la structure de bitstream pré-construite et avoir un format plus "brut" des opérations nécessaires. Nous avons la fonction qui fait toutes les opérations nécessaires pour convertir tout entier donné en une représentation binaire dans un format de tableau à mesure que vous recherchez. Voici le code:
#include <iostream> #include <cmath> bool* theFunction(int); int main() { bool *p; int denNum; std::cout << "Enter a den number!"; std::cin >> denNum; p = theFunction(denNum); for (int i = 0; i < 16; i++ ){ std::cout << *p ; p++; } return 0; } bool* theFunction(int number) { int maxPot=2; bool pivot; int i=0; static bool arr [16]; //Number's conversion to binary while(number> 1){ while(maxPot<number){ maxPot=pow(maxPot,2); } maxPot=maxPot/2; if( number>= maxPot){ arr[i]=1; number = number - maxPot; } else arr[i]=0; i++; } //Loop to set 0 to leftover bits if(i<16){ for(i;i<16;i++) arr[i]=0; } //Loop for reversing the array for(int b=0; b<8 ; b++){ pivot=arr[b]; arr[b]=arr[i]; arr[i]=pivot; i=i-1; } return arr; }
Sérieusement, demandez aux gens de faire des choses, ne fournissant aucun effort et vous avez des réponses? soupir...
@Jef surtout parce qu'il n'y a rien à faire depuis
bitset code> fait déjà partie de la bibliothèque standard.
Je pense toujours que nous ne devrions pas nourrir ces questions de peur que nous deviendrons homeworkexchange.com