INT_MIN = -2^31 = -2147483648,补码表示为0x80000000,出现这个bug,大概率是因为每次变更装备后,首先将变量初始化成INT_MIN,再执行伤害计算逻辑,但由于某种原因,该逻辑没能正常运行,导致伤害计算出现BUG。伤害明明是INT_MIN = -2147483648,这是一个负值。C++不是类型安全的语言,在计算过程中存在数据溢出,当一个数a∈[2^31,2^32)时,程序会将其解释为一个负值,这就导致了当伤害为INT_MIN时,任意一次攻击下,敌方的血量都会降至负值,也就是所谓的秒杀