0
votes

Numéro de base dix au tableau de Bool que le représentant est un nombre binaire / base 2

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>


3 commentaires

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 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


4 Réponses :


0
votes

Vous recherchez un Bitset :

0000000000010000


0 commentaires

1
votes

Vous pouvez utiliser std :: bitset code> code> directement sans fonction de la manière suivante

0000000000000010


1 commentaires

Merci @asmmo Vous m'avez aidé tellement aidé.



0
votes

sauf pour bitset , vous pouvez écrire votre propre algoritm: xxx


6 commentaires

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



0
votes

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; 
}


0 commentaires