ein Int in ein Char konvertieren ABER in Binärdarstellung
-
Also
ich habe ein
Int code = 0b11111diesen binär code muss ich aber in einem Char haben
also:
char charcode = "111111"wie bringe ich sowas zu stande?

-
also 0b11111 ist schonmal gar kein gültiges literal. das hast du also schonmal nicht im programmcode.
und wenn du die bitfolge eh zur kompilierzeit kennt, dann schreib doch einfach:
const char* charcode = "111111";wobei mir nicht bewusst wird, wofür man das brauchen sollte. wenn du zur laufzeit einen integer in binärer darstellung in einen string konvertieren willst, dann nutze einfach die bitweise-operatoren und push_back.
-
also 0b11111 ist schonmal gar kein gültiges literal
War schon früh eine GCC-Erweiterung. Seit C++14 ist es auch standardisiert.
-
std::string int_to_bin_string(int val) { char buffer[sizeof(int) * 8]; char* bufferp = buffer; while(val > 0) { *bufferp = "01"[val & 1]; val >>= 1; ++bufferp; } if(std::distance(buffer, bufferp) == 0) { return "0"; } std::string result; result.reserve(std::distance(buffer, bufferp)); std::reverse_copy(buffer, bufferp, std::back_inserter(result)); return result; }So zb