diff --git a/src/lib/ebus/datatype.cpp b/src/lib/ebus/datatype.cpp index ad877f0c..7a94fc65 100644 --- a/src/lib/ebus/datatype.cpp +++ b/src/lib/ebus/datatype.cpp @@ -852,7 +852,7 @@ result_t NumberDataType::writeSymbols(size_t offset, size_t length, istringstrea dvalue = round(dvalue * m_divisor); } if (hasFlag(SIG)) { - if (dvalue < -exp2((8 * (double)length) - 1) || dvalue >= exp2((8 * (double)length) - 1)) { + if (dvalue < -exp2((8 * static_cast(length)) - 1) || dvalue >= exp2((8 * static_cast(length)) - 1)) { return RESULT_ERR_OUT_OF_RANGE; // value out of range } if (dvalue < 0 && m_bitCount != 32) { @@ -861,7 +861,7 @@ result_t NumberDataType::writeSymbols(size_t offset, size_t length, istringstrea value = static_cast(dvalue); } } else { - if (dvalue < 0.0 || dvalue >= exp2(8 * (double)length)) { + if (dvalue < 0.0 || dvalue >= exp2(8 * static_cast(length))) { return RESULT_ERR_OUT_OF_RANGE; // value out of range } value = (unsigned int)dvalue;