Beautiful Code: Is there a better way of writing v = (v == 0? 1 : 0);
stackoverflow.com
stackoverflow.com
Long version: There are a number of ways which are lexically shorter, do the same thing only assuming that v is already either 0 or 1, are not self-documenting, and perform worse or marginally better at best. Only a very tortured definition would call any of these things "better".
Although v = v ? 0 : 1 isn't that bad.
if (v>0) v=0; else v=1;
Otherwise if(v>0)
v=0;
else
v=1;
Some of us prize readability over neat tricks. I think there are a 100 ways most of these answers could be misinterpreted by people. Code is read more than it is written, and programs rarely work better because you wrote it slightly more "impressively". Modern compilers do much of this sort of stuff that they are doing in this thread, but they do it in a repeatable manner which future programmers don't have to puzzle out.Why not v = 1 - v?