7 Stimmen

"Cannot appear in a constant expression", ich brauche dies als Variable, warum lässt es mich nicht?

string convert_binary_to_hex(string binary_value, int number_of_bits)
{
    bitset<number_of_bits> set(binary_value);   
    ostringstream result;
    result << hex << set.to_ulong() << endl;
    return result.str();
}

In der obigen Methode konvertiere ich binäre Zeichenfolgen in hexadezimale Zeichenfolgen. Da Hex-Werte aus 4 Bits bestehen, ist die number_of_bits Variable muss ein Vielfaches von 4 sein, da die binary_value kann bei der Anwendung, die ich schreibe, zwischen 4 Bit und 256 Bit liegen.

Wie bringe ich bitset dazu, eine variable Größe anzunehmen?

Meine Importe:

#include <stdio.h>
#include <iostream>
#include <string>
#include <bitset>
#include <sstream>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X