Devision of a16bit variable with decimal...?


I am still learning C so my programming skills arent terrific, I am trying to do a devision on a 16 bit variable but the result always strips off decimal points. I cant find a way around this can anyone suggest a better way, see simple example code below.

The total = 401 but when devided by 99 is displayed as 4 instead of 4.05

uint16_t Total = 0;
uint16_t x = 196;
uint16_t y = 205;

void setup() {

void loop() {
    Total = x + y;
    Serial.println (Total);
    Serial.println (Total/99);

Yes that is how an integer works. They only do whole numbers. There is the float type which can have a decimal.

OK, works with float.