Problemas com cálculo

Pessoal tenho o seguinte problema, preciso fazer uma função que execute o seguinte cálculo:

Se tenho os seguintes valores em hexa: 02 e 01

Tenho para isto esta função que deve estar incorreta

//Aqui faz o Cálculo do BCC
String fFrame_ = (cabecalho + cont2 + digitar_string + fim_c);
System.out.println(fFrame_);
	   	    
int bByte = 0;
for ( int i = 2 ; i < fFrame_.length() ; i++ ) {
      bByte =  (bByte^fFrame_.charAt(i))%256;
      bByte =  ((bByte << 1)*2);
}

Sendo que no fFrame esta String está em hexadecimal. Agradeço se alguém puder me ajudar a montar esta função para que o cálculo seja executado corretamente.

Converta a String para int usando Integer.valueOf(suaString, 16).intValue();
A partir dos 2 inteiros, aplique o operador ou exclusivo, ^.

[]'s
carisio

O bByte << 1 já é a própria multiplicação por dois, então, elimine o * 2.