pow function result into int fails

Hi guys,
i try to convert the result from the pow function into an integer value, but i dont the same result.

double a = 0;
int c = 3;

void setup()
{
  Serial.begin(115200);
}

void loop()
{
  a = pow(2,c);
  Serial.println(a);
  Serial.println(int(a));
  delay(2000);
}

Serial monitor:

.
8.00
7

any ideas?

Discussed ad nauseum...
https://www.google.com/search?q=pow+wrong+site%3Aforum.arduino.cc

:art: ty