>>377
なぜ間違えたし。それをするなら
int x = ((255 - final) >> 31) | final;
int y = ~(final >> 31);
return x & y & 255;
でしょう

>>380
シフト演算は意外と遅いので改良案2のように連続させたら負けだと思う