Mach das doch direkt:
Ich hoffe, verständlich. Man müßt noch ev. checken, ob wirklich nur Nullen und Einsen im String sind etc.Code:int Ziel = 0; char Inp[32] = "0001.0010.0100.1000"; int iX; for (iX = 0; iX < strlen(Inp); iX++) { if (Inp[iX] != '.') { Ziel <<= 1; // ein links Ziel |= (Inp[iX] & 1); // Null oder Eins } }
Remark:
Ziel != (Inp[iX] & 1); // Null oder Eins
beruht darauf, das der Ascii-Code von "0/1" = 0x30 / 0x31 ist, d.h. ich kann das low Bit direkt übernehmen
Lesezeichen