I didn’t intend to make another video about iPhone issues, But now the 1970 holiday breakdown has become interesting Maybe because this is a kind of exploitation so I didn't talk about it, in short This is almost due to the so-called "exceeding minimum integers" which was caused by the Unix era If you are familiar with these terms, you may not need this video. As for the rest, be prepared because we will start. The first of January 1970 is a special day for computers. Previously in the seventies, When the Unix and similar systems were created, Programmers needed an easy way to display the date and time, Without having to deal with those strange human terms like day, hours, and minutes. They needed a watch that was constantly ticking and which was easy to make mathematical equations. The easiest way to do this is numbers … whole numbers, Which shows the number of seconds that have passed since January 1, 1970, We still use that. Everywhere, And on almost all computers, everywhere. It is generally the best way to store date and time, Because it ignores time zones and strange human terms.
Now, I've already made clips on this topic, so I'm not going to delve into it, However, all you need to know is that it is midnight And at the beginning of the first of January 1970 Date queried … zero This is the first clue as to what is happening, the second clue: This flaw occurs in modern iPhone devices that are running a 64-bit system. 64-bit indicates the number of digits that are stored in the processor. You have 64 cells in which to store a binary value (1 or 0) Instead of the old 32-bit system, which means .. Well, that means you can handle more numbers, At the processor level And without any complicated software.
Change the phone and its operating system, From the old 32-bit system to 64-bit system requires some effort, So there will be tiny differences in codes between the two systems. Here, this glitch escaped. Now, showing the 64-bit system on the screen is a little difficult, So we'll use 4 bits to explain how it works 0000 equals 0 Then you count the binary system, 1,2,3,4 until you reach 15 It is the largest number you can store in 4 bits And you can not exceed that. But what would happen if I did that? Then it will happen with what is called "overflow of integers". After the number 15 it follows … 0 Turns again and starts again, Just like the meter in an old car, well, If you only have 4 bits, of course, This is going to be a problem, and if you have 64 bits, in fact, You will also be in trouble If you've counted up to 15 quintillion, yeah that's a number, you probably won't have a problem.
Except, if it is the largest number you can store it plus one Will take you to zero … What will you get if you subtract one from zero? In fact, this is called "exceeding the minimum valid meter". You cannot store a negative number in these fields. If you decrease the number 0 less than that, you will not end up with 1- It will spin backwards to reach the highest value So in the original version of the game "Civilization", Gandhi was a fool. The start and the degree of aggression is equal to 1 And later in the game, this value decreased, And no one has written a verification code to make sure the value is not less than zero. So, the value rotated in reverse to the highest possible value, Suddenly Gandhi declared war on everyone. Good that this only happened with the game. Well, there is a version that allows storing negative numbers, But if Apple was actually using that, You will most likely not encounter this problem.
After all, why would someone want to store a negative value for time? It's not like someone will do something like this Set the time in the iPhone to before the year 1970! And you will already notice that you cannot. If you move the calendar back, The calendar will stop at January 1, 1970, at zero Because an Apple employee got up, No, a moment. This is a bad idea. This may cause a problem. So they set the Unix era, or as it is called the zero hour, As a minimum. But if you set the timing for your phone close to zero, So elsewhere in the codes, there's a verification code – Maybe the battery time verification code, And maybe just a math equation that is activated at the last call, or … Well, it's something that no one else has discovered yet. But whatever that verification does, It ends up sometime before January 1, 1970, Which should be a negative number … Except that it is not.
It spins backwards, Giving you a date twenty times larger From the expected date of the age of the universe. And I suspect that the problem is not so much history. But whatever the problem, it causes what is officially known as "unregistered behavior". Commonly known as the "Crash" crash. Now, I should say that, always and whenever I try To analyze a malfunction in an Apple product, this is just a guess. I never think that they will show in detail what happened, Perhaps it is more complicated than that. There is another type of integer binary number. They are called "Registered Integers" Which enables you to deal with negative numbers … But this is another story for another time Even if that is not the exact cause of the problem? Well, I hope this helps you not to make the same mistake In your codes in the future Translation: Muhammad al-Wahashi .