Framework allows replacing and upgrading screens as the core feature. But for Chad ThinkPad this is a great achievement: "Even the screen is upgradeable with some tricks".
Well, you tried to appeal to a common logic, and I appealed to even more common logic. If you arrange 3 apples on a table in an array, and ask anyone to take the 0th apple, they will be confused.
0-based is just a convention, not a law of the universe. Only using integer-type numbers to address array elements is too merely a convention of some programming languages. And note that no one suggests using non-integer numbers here, only numbers of non-integer type.
Most fixed-size integer formats cannot explicitly indicate invalid data. In such a case, when converting NaN to an integer type, the IEEE 754 standard requires that the invalid-operation exception be signaled.
For example in Java, such operations throw instances of java.lang.ArithmeticException.
In C, they lead to undefined behavior, but if annex F is supported, the operation yields an "invalid" floating-point exception (as required by the IEEE standard) and an unspecified value.
In the R language, the minimal signed value (i.e. 0x80000000) of integers is reserved for NA (Not available).[citation needed] Conversions from NaN (or double NA) to integers then yield a NA integer.
Perl's Math::BigInt package uses "NaN" for the result of strings that do not represent valid integers.
I had a different purpose for my notes, so I made a webpage with a filter by rating. It’s decoupled from video files, but I only keep a few video files anyway.
Framework allows replacing and upgrading screens as the core feature. But for Chad ThinkPad this is a great achievement: "Even the screen is upgradeable with some tricks".