Ich habe eine Frage, wie kann ich in C++ eine binäre Zeichenkette in ein int umwandeln, indem ich die gleiche reprensetation der Zahl behalte? Zum Beispiel möchte ich auf diese int 0000.Konvertiere binäre Zeichenkette in int mit der gleichen Darstellung
diese Zeichenfolge „0000“ konvertieren Wenn ich dies:
string str = "0000" ;
int num = atoi(str.c_str());
cout <<num << endl;
bekam ich die Nummer 0, aber ich will die Nummer 0000.
Ein 'int' einen numerischen Wert speichert. '0',' 0000', '00000000' haben alle den gleichen Zahlenwert - Null. Es gibt keine Möglichkeit, die Unterscheidung nur in einem "int" zu bewahren. Wenn die Unterscheidung wichtig ist, behalten Sie sie als "Zeichenfolge" bei. –
Ich möchte die Unterscheidung beibehalten, weil ich mit Integer-Maske arbeite Ich muss einige Zahlen vergleichen, und ich weiß nicht, wie man mit String-Maske arbeitet. Hier ist meine andere Frage: https://stackoverflow.com/questions/48000038/choose-some-numbers-coding-in-gray-code/48000234?noredirect=1#comment83002344_48000234 –
@RedOne Die Maske '0000' ist das gleiche als "0" gibt es keinen Unterschied. – NathanOliver