私は次の構造を持っています
struct {
int myData;
int myAnotherData;
}Value;
struct AnotherStructure {
unsigned int uiLowData;
unsigned int uiHighData;
};
AnotherStructure m_AnotherStructure;
Value val;
val.myData = 10;
#define MULTIPLY 36000000000
unsigned __int64 &internalStructure = *(unsigned __int64*)&m_AnotherStructure;
internalStructure = 0;
internalStructure += ((unsigned __int64)val.myData * MULTIPLY );
私の質問は、unsigned int に大きな値を乗算しているため、上記のケースでデータのオーバーフローがあることです。結果は unsigned int 型の一時値に格納され、次に int 64 に格納されますか? 今ならオーバーフローしないのはどうですか?
ありがとう