Ausführliche Erklärung des Maximalwerts von int in MySQL

Ausführliche Erklärung des Maximalwerts von int in MySQL

Einführung

Ich werde ausführlich über das Problem schreiben, das ich vor zwei Tagen gesehen habe.

Byte

Wir alle wissen, dass Computer auf Binärzahlen basieren. Die grundlegende Speichereinheit ist das Bit, auch Bit oder Binärbit genannt. 1 Bit kann zwei Zahlen darstellen, 0 oder 1, und stellt die kleinstmögliche Informationsmenge dar. Jeder Inhalt, der kleiner als 1 Bit ist, wird nicht als Information betrachtet.

Komplexe Inhalte müssen durch mehrere Bits dargestellt werden. Als Maßeinheit wird häufig Byte, auch Byte genannt, verwendet. 1 Byte entspricht 8 Bits, d. h. 1 Byte kann 28 Inhalte darstellen.

Bytes in MySQL

Lassen Sie mich zunächst erklären, dass der Integer-Typ in MySQL in zwei Typen unterteilt werden kann: vorzeichenlos und vorzeichenbehaftet. Der spezifische Inhalt wird hier nicht erweitert. Die Größe von tinyint beträgt 1 Byte. Die Zahlen, die durch vorzeichenbehaftete Typen dargestellt werden können, sind in der folgenden Tabelle aufgeführt. (Hinweis: Die Tabelle wird gemäß der „Codierung“ geändert und dient nur als Beispiel. Sie stellt nicht den tatsächlichen Speicher von MySQL dar.)

Binärzahlen Dezimalzahlen
10000000 -128
10000001 -127
10000010 -126
10000011 -125
... ...
11111101 -3
11111110 -2
11111111 -1
00000000 0
00000001 1
00000010 2
... ...
011111100 124
011111101 125
011111110 126
011111111 127

int Maximalwert

Wie wir in der obigen Tabelle sehen können, wird das erste Bit verwendet, um das Vorzeichen darzustellen, sodass im Vorzeichen ein Bit weniger vorhanden ist, um den Inhalt zu speichern. Int ist 4 Bytes. Wenn wir das Obige kombinieren, können wir schlussfolgern, dass der maximale Wert von int in vorzeichenbehafteter Form ist

231−1=2147483647

Bei unsigned ist das erste Bit nicht erforderlich, um das Vorzeichen anzugeben.

232−1=4294967295

Referenzen: Binär, Bit, Byte, Komplement.

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM.

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung der Bedeutung von M im MySQL-Datentyp int(M)
  • So konvertieren Sie den Typ varchar in der MySQL-Datenbank in den Typ int
  • Beispiel für die Änderung des Auto-Increment-Primärschlüsseltyps von int zu char in MySQL
  • Erklärung zur Verwendung von „Ersetzen“ und „Ersetzen in“ in MySQL
  • MySQL fügt einen Fremdschlüsselfehler hinzu: 1215 Die Fremdschlüsseleinschränkungslösung kann nicht hinzugefügt werden
  • So konvertieren Sie den MySQL-Datumstyp und den Int-Typ
  • Langsame Abfrage durch Konvertierung von int in varchar in MySQL-Datenbank
  • Vollständige Analyse des MySQL INT-Typs

<<:  Axios Sekundärkapselungsbeispiel Demo im Projekt

>>:  CentOS 7.2 erstellt einen Nginx-Webserver zum Bereitstellen des Uniapp-Projekts

Artikel empfehlen

Detaillierte Analyse von MySQL-Ausführungsplänen

Vorwort Als wir im vorherigen Interviewprozess na...

Echtzeitaktualisierung einer langen Verbindung auf der Vue+WebSocket-Seite

In letzter Zeit muss das Vue-Projekt die Daten in...

Analysieren Sie, wie Uniapp den Schnittstellendomänennamen dynamisch erhält

Hintergrund Der Domänenname der Schnittstelle ist...

So richten Sie ein Bereitstellungsprojekt unter einem Linux-System ein

1. Ändern Sie die Firewall-Einstellungen und öffn...

Analyse des HTTP-Schnittstellentestprozesses basierend auf Postman

Ich habe zufällig ein tolles Tutorial zum Thema k...

Implementierung von Nginx Hot Deployment

Inhaltsverzeichnis Semaphor Nginx-Hot-Bereitstell...

JS implementiert einen Stoppuhr-Timer

In diesem Artikelbeispiel wird der spezifische JS...

CSS-Syntax für Tabellenränder

<br /> CSS-Syntax für Tabellenränder Zu den ...

Wissen Sie, welche Möglichkeiten es gibt, in Vue Routen zu überspringen?

Inhaltsverzeichnis Die erste Methode: Router-Link...

MySQL 8.0.12 – Schnellinstallations-Tutorial

Die Installation von MySQL 8.0.12 dauerte zwei Ta...