Uh, ich glaub das solltest du dir nochmal in Ruhe durchlesen, da hast du offenbar einige Dinge noch falsch verstanden.
Ich habe bis jetzt gelernt das ein Int. 1 Byte Speicher frei gibt [...]
Was genau meinst du damit?
Ein Float hat 2 oder 4 Byte (da bin ich nicht sicher) und kann bis 3 Zahlen hinter dem Komma darstellen [...]
float hat 4 Byte und kann ca. 7 signifikante Stellen darstellen (beachte: "Signifikante Stellen" bedeutet etwas anderes als "Zahlen hinter dem Komma").
[...] und ein doppel hat 8 Byte und kann eben "endlos" hinter dem Komma darstellen.
Ein double hat 8 Byte und kann ca. 15 signifikante Stellen darstellen. Wie genau stellst du dir das vor, dass man mit einer endlichen Anzahl an Bits endlos viele Kommastellen darstellen würde?
Was hat das Komma hier für eine Faktor das ich wegen einem komma von Int zu Float wechseln muss?
Ein Integer (char, short, int etc.) kann nur Ganzzahlen darstellen, also keine "Kommazahlen".
Man sollte auch erwähnen, dass die genannten Größenangaben hier nur die typischen Werte für PCs sind. Eigentlich definieren die C und C++ Standards nur gewisse Mindestgrößen...
Aber rein prinzipiell würd ich mich mit diesen Dingen erstmal auch nicht zu lang aufhalten. Wichtig für den Anfang ist, dass es eben Typen gibt, die nur Ganzzahlen darstellen können (int usw.) und Typen, die Gleitkommazahlen darstellen können (float usw.), wobei verschiedene Typen jeweils einfach verschiedene Wertebereiche abdecken.