Negative int how many Bits?

Why in all project serial monitor- the negativ integer numbers are presented as 32 bits, not a 16 Bits-2 bytes example :
code:
int a=-3;
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.println(a,BIN);
delay(1000);
}

end
WHY?
Serial.monitor display:32 bits
11111111111111111111111111111101
11111111111111111111111111111101
11111111111111111111111111111101
I think it should show:
only 16 bits 1111111111111101

why 32 neg_int=32 bits.jpg

internal in the print class this happens

size_t Print::print(int n, int base)
{
return print((long) n, base);
}

in short every int is casted to long ...