Может быть веселее продублировать схему, которую они используют для этого ..
bool odd = false;
for(int i=6;i>=0;i--)
odd ^= (number & (1 << i)) > 0;
Тогда, если вы хотите, чтобы четная четность устанавливала бит 7 нечетным, нечетная четность не была нечетной.
или
bool even = true;
for(int i=6;i>=0;i--)
even ^= (number & (1 << i)) > 0;
Схема с двойной функцией возвращает 0 и 1 или 1 и 0, также делает более 1 бита одновременно, но это немного для TPL ....
PS Возможно, вы захотите проверить вход для <128, иначе все пойдет не так. </p>
ооо не заметил тег домашней работы, не используйте его, если не можете его объяснить.