Als «numeric-conversion» getaggte Fragen

6
Warum ist 0 <-0x80000000?
Ich habe unten ein einfaches Programm: #include &lt;stdio.h&gt; #define INT32_MIN (-0x80000000) int main(void) { long long bal = 0; if(bal &lt; INT32_MIN ) { printf("Failed!!!"); } else { printf("Success!!!"); } return 0; } Die Bedingung if(bal &lt; INT32_MIN )ist immer wahr. Wie ist es möglich? Es funktioniert gut, wenn ich …

7
Ist es effizienter, eine Bereichsprüfung durch Casting auf uint durchzuführen, anstatt nach negativen Werten zu suchen?
Ich bin auf diesen Code im Quellcode der .NET- Liste gestoßen : // Following trick can reduce the range check by one if ((uint) index &gt;= (uint)_size) { ThrowHelper.ThrowArgumentOutOfRangeException(); } Anscheinend ist dies effizienter (?) Als if (index &lt; 0 || index &gt;= _size) Ich bin neugierig auf die Gründe …
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.