WEBVTT

00:00.210 --> 00:02.630
Das Thema ist Überlauf.

00:02.670 --> 00:09.180
Dies ist nur ein Konzept und dies ist ein sehr nützliches Konzept für Interviews. In Interviews können sie Fragen direkt

00:09.180 --> 00:16.230
bei Überlauf stellen oder Fragen, die sie je nach Überlauf unter das allgemeine Thema stellen,

00:16.230 --> 00:19.790
nicht nur zu C++ in jeder Programmiersprache.

00:19.800 --> 00:25.710
Dieses Konzept gilt, bevor wir den Überlauf verstehen, müssen wir einige Konzepte überarbeiten, die wir

00:25.710 --> 00:27.880
in früheren Videos studiert haben.

00:27.990 --> 00:30.220
Dann erkläre ich, was es mit Überlauf bedeutet.

00:30.270 --> 00:37.220
Soweit ich hier ein Beispiel genommen habe, habe ich eine Variable vom Typ Zeichen und X hat den Wert 127,

00:38.820 --> 00:40.660
wie viele Bytes Zeichen benötigen.

00:41.040 --> 00:43.620
Es braucht einen Bissen, ein Bissen bedeutet 8 Bit.

00:43.620 --> 00:47.450
Dies ist also ein Bissen und ich zeige alle Bits, die 0 bis 7 sind.

00:47.460 --> 00:54.230
Dies ist das niedrigstwertige Bit und dies ist dann am wichtigsten, wie Daten tatsächlich im Speicher dargestellt werden.

00:54.240 --> 00:59.790
Es wird in binärer Form dargestellt, so dass diese Zahl von 127 in binärer Form gespeichert wird, also wie es in

00:59.790 --> 01:00.790
binärer Form aussieht.

01:00.990 --> 01:04.350
Dies ist die Umwandlung von Dezimalzahl in Binärzahl.

01:04.440 --> 01:09.990
Wir haben das bereits gelernt, also habe ich die Ziffern als 1 1 1 1 1, sieben Einsen.

01:09.990 --> 01:14.520
Also 7 Einsen und führendes Bit, das am höchsten ist, ist 0.

01:14.760 --> 01:20.090
Sie sollten also wissen, dass dies bereits besprochen wurde. Ich habe gesagt, dass dies ein Bit mit Vorzeichen ist, wenn

01:20.130 --> 01:22.870
es 0 ist, bedeutet Nein. es ist positiv.

01:23.160 --> 01:25.020
Wenn es eins ist, bedeutet dies, dass die Zahl negativ ist.

01:25.290 --> 01:26.710
Im Moment ist es also null.

01:26.850 --> 01:30.370
bedeutet, dass dies positiv ist und es positiv ist 127.

01:30.450 --> 01:36.410
Dann sollten wir noch etwas wissen, was der Wertebereich ist, den ein Charakter speichern kann.

01:36.730 --> 01:42.270
C-Zeichen sind Alphabete, die wir verwenden, aber wir schreiben das Alphabet nicht in den Speicher, sondern schreiben ASCII-Codes für

01:42.270 --> 01:42.930
sie richtig.

01:43.410 --> 01:51.090
Was ist also der Wertebereich von minus 128 bis 127, also der Zeichenbereich ist

01:51.220 --> 01:55.740
minus 128 bis 127. Kommen wir nun zum Konzept.

01:55.840 --> 01:58.200
Lassen Sie uns das Konzept richtig verstehen.

01:58.230 --> 01:58.600
Jetzt.

01:58.600 --> 02:04.300
Die Variable hat den größtmöglichen Wert, der darüber hinaus der maximale Wert ist.

02:04.300 --> 02:08.980
Wir können keinen Wert in der Zeichentypvariablen haben, wenn wir ihn haben.

02:08.980 --> 02:10.360
Was passiert dann.

02:10.390 --> 02:15.890
Im Moment ist es also 127. Ich werde es als plus plus x machen.

02:15.940 --> 02:18.880
Wenn ich diese Aussage schreibe, was dann daraus wird.

02:18.880 --> 02:21.790
Es wird versucht, zum nächsten Wert zu gehen, der nicht vorhanden ist.

02:22.570 --> 02:24.380
Was passiert also mit den Daten.

02:24.850 --> 02:30.730
Dieser wird minus 128, wenn Sie versuchen, diesen Wert über diesen hinaus zu überschreiten.

02:30.730 --> 02:34.150
Es wird also auf dieses ankommen und umgekehrt.

02:34.150 --> 02:41.320
Wenn es minus 128 ist und wir versuchen, es zu reduzieren, verringern Sie es um 1, dann wird es 127.

02:41.440 --> 02:43.270
Es ist also eher zyklisch.

02:43.270 --> 02:47.340
Wenn Sie also von 127 kommen, sind es minus 128.

02:47.350 --> 02:55.000
Und von der Seite wird es auf 127 gehen, genau wie unsere Hand in einer Uhr wie dieser

02:55.030 --> 03:00.690
12'O Uhr, eins, zwei drei vier fünf sechs sieben acht neun zehn elf.

03:00.810 --> 03:02.040
jetzt, wenn die Hand hier ist.

03:02.170 --> 03:07.840
Wenn Sie dann als nächstes ziehen, würde es nicht auf 13 gehen, sondern auf 1 und wenn die Hand hier ist, wenn Sie sich hierher

03:07.840 --> 03:09.580
bewegen, wird sie nicht auf 0 gehen.

03:09.580 --> 03:12.220
Das ist weniger als 1 0, aber es werden 12.

03:12.760 --> 03:16.120
Also genau wie zyklisch und dieses zyklische Verhalten.

03:16.130 --> 03:18.930
Dies wird als Überlauf bezeichnet.

03:18.960 --> 03:24.760
Wenn also der Wert größer als die Kapazität ist, werden die Werte wieder von Anfang an übernommen, das

03:24.760 --> 03:25.810
ist ein Überlauf.

03:25.960 --> 03:30.670
Warum es passiert, wie magisch es die Werte braucht, die ich Ihnen hier zeigen werde.

03:30.670 --> 03:34.680
Angenommen, dies ist das Byte und ich habe hier bereits eine Nummer.

03:34.780 --> 03:40.050
Lassen Sie uns dabei nicht 1 hinzufügen, denn plus plus bedeutet, dass es um 1 erhöht wird.

03:40.090 --> 03:46.210
Wenn es also um 1 erhöht wird, wenn eins dazu addiert wird, was wird das Ergebnis sein? eins plus eins eins plus eins ist zwei

03:46.210 --> 03:49.110
bedeutet eins null in binärer Form.

03:49.210 --> 03:52.720
Das ist also Null, Übertrag eins, dann wieder eins plus eins zwei.

03:52.750 --> 03:58.170
Das ist also null und trage eins das ist null trage eins, also für all das bekommen wir cary eins.

03:58.360 --> 03:58.850
Richtig.

03:58.870 --> 04:00.070
Das ist also null.

04:00.070 --> 04:03.080
cary 1 Dies ist null cary eins.

04:03.100 --> 04:06.960
Also eins zwei drei vier fünf sechs sieben Nullen.

04:07.000 --> 04:08.280
Und das ist einer.

04:08.320 --> 04:10.240
Also, was ist dieses Bit-Zeichen-Bit.

04:10.300 --> 04:12.590
So ist es eins geworden, also ist es negativ geworden.

04:13.060 --> 04:14.530
Ja, das ist eine negative Zahl.

04:14.620 --> 04:15.820
Aber was ist der Wert.

04:15.820 --> 04:19.460
Lassen Sie uns den Wert überprüfen, das ist zwei Potenz Null, zwei Potenz Eins.

04:19.600 --> 04:27.070
Und das sind vier, acht, sechzehn, zweiunddreißig, 64 und eins achtundzwanzig.

04:27.190 --> 04:30.210
Also ja, das ist 128.

04:30.310 --> 04:37.330
Sehen Sie, der Wert ist 128 und das gleiche Bit fungiert auch als Vorzeichenbit, also ist es tatsächlich minus 128.

04:37.510 --> 04:46.870
Das ist also minus eins achtundzwanzig see magisch, es ist auf minus 128 gekommen, wir waren bei 127, dann haben wir

04:46.870 --> 04:53.200
versucht, zum nächsten Wert zu gehen, und es ist zum Anfang des Bereichs gekommen, der

04:53.200 --> 04:54.940
minus 128 beträgt.

04:55.060 --> 05:01.170
Jetzt noch eine Sache, die wir erhalten haben, ist im Zweier-Komplement, weil

05:01.170 --> 05:06.550
negative Zahlen im Zweier-Komplement gespeichert werden, es ist in Zweier-Komplementen

05:06.550 --> 05:12.450
die gleiche Zahl zurückbekommen du kannst es selbst machen finde das

05:12.780 --> 05:16.070
Zweierkomplement du bekommst dasselbe wieder zurück.

05:16.120 --> 05:20.280
Ich mache es also nicht direkt, ich zeige Ihnen, dass es minus 128 ist.

05:20.680 --> 05:29.540
Nein, lassen Sie uns diesen Wert anzeigen und überprüfen das ist minus

05:29.650 --> 05:35.260
128, also tippe es als Ganzzahl um

05:35.260 --> 05:42.250
und zeige es so an, dass es eine ganze

05:42.640 --> 05:51.130
Zahl von x ist. Nein, du kannst minus eins achtundzwanzig auf

05:51.130 --> 05:57.880
dem Bildschirm sehen. Ich habe es nur für das Zeichen gezeigt, aber das Gleiche

05:57.940 --> 06:01.580
gilt für Integer, auch für eine lange Ganzzahl, auch für das gleiche.

06:01.750 --> 06:07.120
Es gibt also eine Demo im nächsten Video. Sie können die Demo sehen, das gleiche werde ich demonstrieren und

06:07.120 --> 06:12.020
Ihnen zeigen, dass es keine Programme gibt, die wir nicht nur als Konzept im Programm verwenden.

06:12.240 --> 06:13.990
Okay, das ist alles im Video.
