Wenn ich zwei Std :: Strings habe, die einen Hexadezimalwert beliebiger Länge enthalten, wie kann ich mit den beiden vergleichen, um zu sehen, welche in Bezug auf Wert größer ist? Idealerweise möchte ich vermeiden, eine große Nummernbibliothek verwenden zu müssen.Vergleicht man zwei C++ Hexadezimalzeichenfolgen
Ich möchte etwas tun:
if(hex1 > hex2)
{
//Do something
}
Sind die Werte unsigned oder signed? – lcs
Sie könnten sie einfach als ganze Zahl wie folgt lesen: std :: cin >> std :: hex >> hex1 >> hex2, um sie als hexadezimale Ganzzahlen zu lesen und sie dann normal zu vergleichen. –
Wenn die Strings nur [0-9] enthalten, machen [a-f] oder [A-F] sie zu Kleinbuchstaben (oder Großbuchstaben) und vergleichen sie wie Sie (wenn sie die gleiche Länge haben). –