Hacker News new | ask | show | jobs
by nanex 4952 days ago
Using "unsigned ints" for values that will never be negative allows you to perform one validation test instead of two. Use a typedef to avoid writing "unsigned" everywhere and you end up with less clutter in the code (for humans) and in the binary (for machines).

nanex

1 comments

You should check before the operation that can produce result outside the valid range anyway.

Wrong example:

    unsigned int z = x - y;
    if (z > BIG_NUMBER) {
        return false;
    }
Good example:

    if (y > x) {
        return false;
    }
    unsigned int z = x - y;