Melhor maneira de converter 8 booleanos em um byte?
Quero salvar 8 booleanos em um byte e depois salvá-los em um arquivo (este trabalho deve ser feito para dados muito grandes). Usei o código a seguir, mas não tenho certeza de que seja o melhor (em termos de velocidade e espaço):
int bits[]={1,0,0,0,0,1,1,1};
char a='\0';
for (int i=0;i<8;i++){
a=a<<1;
a+=bits[i]
}
//and then save "a"
alguém pode me dar um código melhor (mais velocidade)?