Se me había olvidado poner que también he usado la siguiente forma,
shift_right(&ch, 1, b[7]);
shift_right(&ch, 1, b[6]);
shift_right(&ch, 1, b[5]);
shift_right(&ch, 1, b[4]);
shift_right(&ch, 1, b[3]);
shift_right(&ch, 1, b[2]);
shift_right(&ch, 1, b[1]);
shift_right(&ch, 1, b[0]);
donde ch es de tipo carácter