Gast
#6628686
Hallo, ich habe eine frage zum casten in C.
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
damit erhalte ich mein gewünschtes ergebnis (hier 0x1FFFE). aber was passiert genau beim casten? summand_A und summand_B haben ja einene bestimmten Platz und bereich im Speicher durch die definition (uint16_t summand_A;) erhalten. Wird der gesamte speicher vom gecasteten summand_A genommen? Also auch die 16 bits die vor der variable stehen? Was ja jetzt uint32_t ist. Was ist, wenn da im Speicher irgendwas drinn steht? Dann passt das ergebnis ja nicht mehr. Wenn summand_B jetzt genau hinter summand_A steht und ich es auf uint32_t caste, ist dann summand_B=0xFFFFFFFF (Also summand_B und das davorstehende summand_A)?