﻿# V203\. Explicit type conversion from memsize to double type or vice versa\.


> Это правило входит в группу "Диагностика 64\\\-битных ошибок"\\\. Разработка правил этой группы больше не ведётся, и в будущем они могут быть отключены\\\. Если вы используете эти правила, \[свяжитесь с нашей поддержкой\]\(https://pvs\-studio\.ru/ru/about\-feedback/\) — мы поможем найти замену или предложим альтернативное решение\\\.

Анализатор обнаружил потенциально возможную ошибку, связанную с явным преобразованием memsize типа в 'double' тип или наоборот\. Потенциальная ошибка может заключаться в невозможности хранения всего диапазона значений memsize типа в переменных типа 'double'\. 

Эта ошибка полностью аналогична ошибке [V113](https://pvs-studio.ru/ru/docs/warnings/v113/)\. Отличие заключается только в том, что используется явное приведение типов, как например, показано ниже:

```cpp
SIZE_T size = SIZE_MAX;
double tmp = static_cast<double>(size);
size = static_cast<SIZE_T>(tmp); // x86: size == SIZE_T
                                 // x64: size != SIZE_T
```

Для ознакомления с данным видом ошибок смотри описание ошибки [V113](https://pvs-studio.ru/ru/docs/warnings/v113/)\.

Дополнительные материалы по данной теме:

1. 64\-битные уроки\. Урок 18\. Паттерн 10\. [Хранение в double целочисленных значений](https://pvs-studio.ru/ru/blog/lessons/0018/)\.