Copiare i bit di variabili su una variabile

Secondo me sbagli candeggio...
Forse ti serve una cosa così:

if (tasto==HIGH){
  myvar = (myvar << 1) + 1;
}
if (tasto ==LOW){
  myvar = myvar << 1;
}