arduino.ru/Reference/Serial/Write
arduino.ru/Reference/Serial/Print
Видите разницу?
В первом случае вы результат отправите как бинарный код. И монитор порта отобразит совсем не то, что вы ожидаете.
Во втором случае вы результат отправите как ASCII текст. То есть, что отправите, то и увидите в мониторе.
Попробуйте просто для сравнения:
Serial.write(65);
Serial.write("65");
Serial.print(65);
Вывод: проблема не в математике, проблема в формате вывода результата в порт.
UPD: ТС для проверки использует Proteus, я - Arduino Leonardo