diff --git a/src/core/src/descriptor/tensor.cpp b/src/core/src/descriptor/tensor.cpp index 5a7a4c24a69..ed87ce606bf 100644 --- a/src/core/src/descriptor/tensor.cpp +++ b/src/core/src/descriptor/tensor.cpp @@ -100,10 +100,8 @@ const ov::Shape& ov::descriptor::Tensor::get_shape() const { size_t ov::descriptor::Tensor::size() const { const bool bitwidth_less_than_byte = m_element_type.bitwidth() < 8; - if (bitwidth_less_than_byte) { - return static_cast(ceil((1.0 * shape_size(get_shape()) * m_element_type.bitwidth()) / 8)); - } - return shape_size(get_shape()) * m_element_type.size(); + return bitwidth_less_than_byte ? (shape_size(get_shape()) * m_element_type.bitwidth() + 7) >> 3 + : (shape_size(get_shape()) * m_element_type.size()); } const std::unordered_set& ov::descriptor::Tensor::get_names() const {