Beste Möglichkeit, 8 Boolean in ein Byte zu konvertieren?

Ich möchte 8 Boolesche Werte in einem Byte speichern und dann in einer Datei speichern (diese Arbeit muss für sehr große Datenmengen ausgeführt werden). Ich habe den folgenden Code verwendet, bin mir jedoch nicht sicher, ob es der beste ist (in hinsichtlich Geschwindigkeit und Raum):

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"

kann mir jemand einen besseren Code geben (mehr Geschwindigkeit)?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage