void setup() {
 Serial.begin(9600);
}
void loop() {
    int a=10;
    long b = a * 10000; //①
//  long b = 100000;  //②
    Serial.print(b);
    Serial.print("\n");
    delay(1000);
}

Arduino Unoに、上記コードを転送し、シリアルモニタを確認すると
①では、-31072が表示され
②では、100000が表示されます。
これは、何故でしょうか?