Gast
#6439382
Hallo, wenn ich (in c) uint8_t x = 0xFF; uint8_t y = 0xFF; multipliziere, bekomme ich ein Ergebnis, welches uint16_t groß ist. wenn beide jetzt 1 sind, passt das Ergebnis noch in uint8_t rein. Jetzt bin ich am überlegen, welche möglichkeit es gibt, einen überlauf zu ermitteln und wenn ja, wie groß der ist. Gibt es da irgendwelche möglichkeiten? Natürlich könnte ich auch beide direkt uint16_t groß machen. Es soll allerdings hinterher mit uint32_t auch funktionieren und größer kann ich nicht gehen. hier wäre das Ergebnis uint64_t. Diesen Datentyp habe ich aber nicht.