Umh... :master:
Ricevendo in input una stringa, viene salvata come insieme di caratterei. Quindi se viene inserito 0101 lo 0 e l'1 vengono interpretati come il carattere ASCII che li codifica. Pertanto occupano molto + spazio di un bit.
Non credo nemmeno che esista una funzione che la converta, perchè nn esiste un tipo "bit"..
Anche allocando la memoria nn credo sia possibile perchè comunque sarebbero sempre char e quidi anche se assegnassi ad ogni carattere un solo bit andrebbe in buffer overflow.
In definitiva credo che in C nn sia possibile., ma bisogna operare aancora + a basso livello (ASM)