Gast
#284922
Hi, tschuldigung, ich muss euch schon wider mit einer warscheinlich einfachen Frage nerven. Also ich fasse mich kurz. Ich hab hier eine hübsche Funktion geschrieben um mit Fat32 von einer Sd Karte zu lesen. Dabei hab ich mir das so zurecht gelegt, dass ich von jedem beliebigen Byte in der Datei anfangen zu lesen kann. Nun desshalb kann die Variable 'start', natürlich sehr gross werden. (Start gibt das byte an von welchenm gelesen werden soll). Nun habe ich bis anhin uint32_t verwendet; das klappt bis 32768 auch ganz gut. Nur wenn ich daraus nun einen uint64_t mache, dann steigt die Codegrösse von ~4000 bytes auf über 9000 bytes an. Und dies 'bloss', 4 folgenden Rechnungen. Als optimierungslevel beim compilieren verwende ich 's'. Was ich auch nicht ganz begreife - ein uint32_t ist in inttypes ja als unsigned long long definiert. sollte also 32bits lang sein. Wenn der unsigned ist sollte das ja bedeuten 2^32 = 4294957296 Bei mir gibts allerdings schon ab 32768 Rechnungsfehler. (multiplikationen verwende ich allerdings nirgends). Nik