From: Lukas Jiriste Date: Thu, 17 Oct 2024 14:08:03 +0000 (+0200) Subject: Fix multiplication rounding X-Git-Url: https://git.ljiriste.work/?a=commitdiff_plain;h=261a2c01d187dd15361ee34e351a3661ae58643f;p=42%2FCPP_Module_02 Fix multiplication rounding --- diff --git a/ex02/Fixed.cpp b/ex02/Fixed.cpp index 35b37bf..502ae74 100644 --- a/ex02/Fixed.cpp +++ b/ex02/Fixed.cpp @@ -111,7 +111,14 @@ Fixed Fixed::operator*(const Fixed &other) const { Fixed res; - res.m_num = (m_num * other.m_num) >> point_pos; + res.m_num = m_num * other.m_num; + if (res.m_num & (1 << (point_pos - 1))) + { + res.m_num >>= point_pos; + ++res.m_num; + return (res); + } + res.m_num >>= point_pos; return (res); }