Also entweder ist dein Material denkbar schlecht, dann musst dus hier auch nicht online stellen oder du setzt deine Prioritäten falsch. In der Zeit, die du zum einscannen brauchst, hättest du allgemeine Zahlendarstellung schon lange gepeilt. nämlich:
dezimal:
123,5 = 1*10^2 + 2*10^1 + 3*10^0 + 5*10^-1
binär:
1001,1 = 1*2^3 + 0*2^2 + 0*2^1 + 1*2^0 + 1*2^-1
deshalb sollte
seepy mit seiner Behauptung recht haben.
Desweiteren solltest du dich nochmal ausführlich mit Grundlagen beschäftigen, wenn du nicht weißt, wie man die Ganzzahl von der Fraktion trennt! In beiden denkbaren fällen als string oder float, double oder was ihr benutzt ist das nicht schwer.
Ich würde dir vorschlagen du baust erstmal binär zu dezimal, das geht den meisten leichter von der Hand. Und zwar genau so wie oben geschrieben rechnet man das. Und ob du jetzt trickst und den Computer mit seiner Spezialität nämlich echten Binärzahlen fütterst und dann floattostr benutzt oder eine "schriftliche" Addition und Multiplikation, die du in deiner dritten Klasse gelernt hast, implementierst ist im Endeffekt egal.
Für dezimal zu binär von bsp 7 musst du immer gucken welche Potenzen noch reinpassen und zwar am besten von der höchsten ausgehend:
2^3=8 ist zu groß für 7also 0
2^2=4 passt in 7 rein also 1 und dann 7-4=3 als neue Zahl
2^1=2 passt in 3 rein also 1 und dann 3-2=1 als neue Zahl
2^0=1 passt in 1 rein also 1 und dann 1-1=0 => Ende der Nachkommateil ist identisch
7 zu binär ist also 0111 oder einfach 111
binär zu hex ist trivial: einfach immer 4 Bit der binärzahl zu was zusammenfassen. BCD ist auch einfach und zwar Codierst du immer die Ziffern 0-9 binär. Da das nur 10 sind also kleiner als 16 aber mehr als 8 verwendest du genau 4 Bit für jeweils eine Ziffer. Du wirst feststellen, dass das ganz ähnlich der normalen Codierung der Zeichen im string ist (nennt sich ascii) da stehen die Ziffern auch alle hintereinander, allerdings die Null eben nicht an erster Stelle in der Tabelle. string to BCD wäre also ein Abziehen von einem Offset vom Ordinalwert der jeweiligen Ziffer + plus packen von jeweils zwei Ziffern in 1 byte.