- 1
- 2
float factor = ((float)sizeof(char) / sizeof(wchar_t));
fileSize = (long)((float)fileSize * factor);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+57
float factor = ((float)sizeof(char) / sizeof(wchar_t));
fileSize = (long)((float)fileSize * factor);
вот так выглядит деление на sizeof(wchar_t) :)
long fileSize = ...;
double factor = (double)sizeof(char) / sizeof(wchar_t);
fileSize = fileSize * factor;
и внезапно все не так уж и страшно
Как не тебе, г-девщику это знать
Хотите сказать тут хватит целочисленки?
Тоесть сам факт деления размера чара на размер широко чара с последующим умножением на размер файла кажется Вам вполне себе бест-практисом?
Но мне почему-то кажется что для такой задачи вполне хватит такого вот представления
В целых числах всё равно fileSize округляется. Если взять число не короче, чем sizeof(decltype(fileSize)) + log2(sizeof(char)), то всё должно нормально работать для любых fileSize. Или тут ещё подвох есть?
/*другой гость*/