普通にビット演算するしかないと思うのだけど。

テーブルを使うとしたら工夫しよう。
0rrrrrgg と gggbbbbb に分けてテーブルを作って足せば、テーブルを512バイトに縮小できる。