Ich verwende std::bitset
, um einen Dezimalwert in seine binäre Darstellung zu konvertieren, aber ich bin nicht sicher, ob bitset
vorzeichenbehaftete Werte behandelt oder nicht.Bitset und signierte Werte
Zum Beispiel bitset<10>(5)
gibt Ihnen 0000000101
. Aber was ist, wenn es bitset<10>(-5)
?
Hier ist mein Code in spezifisch:
while (getline(ss, token, ',')){
ss.ignore();
myString.push_back(token);
}
myString[0].erase(0, 1);
myString[1].erase(0, 1);
rt = bitset<7>(stoi(myString[0])).to_string();
ra = bitset<7>(stoi(myString[1])).to_string();
i10 = bitset<10>(stoi(myString[2])).to_string();
und die i10
unterzeichnet werden soll. Wird mein aktueller Code signierte Werte verarbeiten? myString wird die Dezimaldarstellung enthalten, die von einem Benutzer eingegeben wird, aber ich muss etwas verketten und in eine Datei schreiben, so dass ich im Prinzip in Zeichenfolgen umwandeln kann.
Huh das ist seltsam - für mich gibt es immer die richtige Zweierkomplement-Binärdarstellung der Zahl – tobspr
@Barry Gibt es einen Konstruktor, der unterzeichnet behandelt? – Javia1492
@ Javia1492 Warum sollte es? – Barry