Heim > Backend-Entwicklung > C++ > Überprüfen Sie, ob eine Zeichenfolge eine Hexadezimalzahl darstellt

Überprüfen Sie, ob eine Zeichenfolge eine Hexadezimalzahl darstellt

PHPz
Freigeben: 2023-09-25 11:45:04
nach vorne
1240 Leute haben es durchsucht

Überprüfen Sie, ob eine Zeichenfolge eine Hexadezimalzahl darstellt

In der Informatik ist Hexadezimal ein 16er-basiertes Zahlensystem. Es verwendet 16 verschiedene Symbole, darunter die zehn Dezimalstellen 0 bis 9 und die sechs Buchstaben A, B, C, D, E und F, um Zahlen von 0 bis 15 darzustellen. In diesem Artikel besprechen wir, wie man prüft, ob eine Zeichenfolge eine Hexadezimalzahl darstellt.

Problemstellung

Bei einer gegebenen Zeichenfolge besteht die Aufgabe darin, zu prüfen, ob sie eine gültige Hexadezimalzahl darstellt.

Methode

Wir können dieses Problem lösen, indem wir die Zeichen in der Zeichenfolge iterieren und prüfen, ob sie zu einem gültigen Hex-Zeichensatz gehören. Gültige Hexadezimalzeichen sind Zahlen von 0 bis 9 und Buchstaben von A bis F (unabhängig von Groß- oder Kleinschreibung). Wenn alle Zeichen in der Zeichenfolge zu diesem Zeichensatz gehören, stellt die Zeichenfolge eine gültige Hexadezimalzahl dar.

Beispiel

Dies ist die C++-Code-Implementierung der oben genannten Methode:

#include <iostream>
#include <string>

using namespace std;

bool isHexadecimal(string s) {
   int n = s.length();
   
   for (int i = 0; i < n; i++) {
      if (!isxdigit(s[i])) {
         return false;
      }
   }
   
   return true;
}

int main() {
   string s1 = "ABCD1234";
   string s2 = "12G4F5";
   
   if (isHexadecimal(s1)) {
      cout << s1 << " represents a valid hexadecimal number." << endl;
   } else {
      cout << s1 << " does not represent a valid hexadecimal number." << endl;
   }
   
   if (isHexadecimal(s2)) {
      cout << s2 << " represents a valid hexadecimal number." << endl;
   } else {
      cout << s2 << " does not represent a valid hexadecimal number." << endl;
   }
   
   return 0;
}
Nach dem Login kopieren

Ausgabe

Durch Ausführen des obigen Codes wird

ausgegeben
ABCD1234 represents a valid hexadecimal number.
12G4F5 does not represent a valid hexadecimal number.
Nach dem Login kopieren

Zeitliche Komplexität

Die zeitliche Komplexität der Lösung beträgt O(N), wobei N die Länge der Zeichenfolge ist.

Weltraumkomplexität

Die räumliche Komplexität der Lösung beträgt O(1).

Im obigen Code haben wir eine Funktion isHexadecimal definiert, die eine Zeichenfolge als Eingabe akzeptiert und „true“ zurückgibt, wenn die Zeichenfolge eine gültige Hexadezimalzahl darstellt, andernfalls gibt sie „false“ zurück. Wir verwenden die Funktion isxdigit, um zu prüfen, ob jedes Zeichen in der Zeichenfolge zu einem gültigen Hexadezimalzeichensatz gehört.

Testfälle

Nehmen wir zwei Strings s1 = „ABCD1234“ und s2 = „12G4F5“. Die Zeichenfolge s1 stellt eine gültige Hexadezimalzahl dar, da alle Zeichen in der Zeichenfolge zum gültigen Hexadezimalzeichensatz gehören. Andererseits stellt die Zeichenfolge s2 keine gültige Hexadezimalzahl dar, da sie ein Zeichen „G“ enthält, das kein gültiges Hexadezimalzeichen ist.

Fazit

Zusammenfassend lässt sich sagen, dass wir leicht überprüfen können, ob eine Zeichenfolge eine gültige Hexadezimalzahl darstellt, indem wir die Zeichen der Zeichenfolge durchlaufen und prüfen, ob sie zu einem gültigen Hexadezimalzeichensatz gehören.

Das obige ist der detaillierte Inhalt vonÜberprüfen Sie, ob eine Zeichenfolge eine Hexadezimalzahl darstellt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage