Size: a a a

2021 March 25

AU

Abu Umar in pro.cxx
Antony Polukhin
А вот так вас устроит?

auto value = static_cast<std::underlying_type<FooEnum>::type>(myEnum);


Если нет, то надо менять static_cast на reinterpret_cast.
Устроит, думал там есть подвох, которого я не знаю. Спасибо
источник

FM

Filipe Mulonde in pro.cxx
int main()
{
   float x = 0.1;      x = x - 0.1;     }  without running this code what is the value of x?
Анонимный опрос
24%
Is 0
76%
Not 0
Проголосовало: 92
источник

IZ

Ilia Zviagin in pro.cxx
Filipe Mulonde
int main()
{
   float x = 0.1;      x = x - 0.1;     }  without running this code what is the value of x?
Анонимный опрос
24%
Is 0
76%
Not 0
Проголосовало: 92
ЭТо что у нас тут вообще?
источник

SE

Suigintou45 E14 in pro.cxx
Ilia Zviagin
ЭТо что у нас тут вообще?
epsilon
источник

I

Ioann_V in pro.cxx
Filipe Mulonde
int main()
{
   float x = 0.1;      x = x - 0.1;     }  without running this code what is the value of x?
Анонимный опрос
24%
Is 0
76%
Not 0
Проголосовало: 92
Зависит от того, как оно (0.1) округляется в случае =, и вычитания. Если одинаково, то ноль, а если нет - не ноль. По iee754, 3 способа округления есть.
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
Надо учитывать, что в вычитании каст в дабл
источник

I

Ioann_V in pro.cxx
Artöm Bakri Al-Sarmini
Надо учитывать, что в вычитании каст в дабл
Кстати, да.
источник

D

Dmitriy in pro.cxx
денормализованное число будет)
источник

D

Dmitriy in pro.cxx
в голосовании не хватает третьего пункта = хз
источник

DF

Dollar Føølish in pro.cxx
Artöm Bakri Al-Sarmini
Надо учитывать, что в вычитании каст в дабл
Из-за литерала ?
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
Dollar Føølish
Из-за литерала ?
При арифметических операциях флоат промоутится до дабла
источник

АК

Александр Караев... in pro.cxx
Filipe Mulonde
int main()
{
   float x = 0.1;      x = x - 0.1;     }  without running this code what is the value of x?
Анонимный опрос
24%
Is 0
76%
Not 0
Проголосовало: 92
Видимо, получается так:
float x = static_cast<float>(0.1);
x = static_cast<float>(static_cast<double>(x) - 0.1);
источник

DF

Dollar Føølish in pro.cxx
Artöm Bakri Al-Sarmini
При арифметических операциях флоат промоутится до дабла
Всегда ?
источник

AB

Artöm Bakri Al-Sarmi... in pro.cxx
Да
источник

DF

Dollar Føølish in pro.cxx
Понятно )
источник

АК

Александр Караев... in pro.cxx
Александр Караев
Видимо, получается так:
float x = static_cast<float>(0.1);
x = static_cast<float>(static_cast<double>(x) - 0.1);
И вопрос сводится к тому, выполняется ли 0.1 == static_cast<double>(static_cast<float>(0.1))
источник

D

Dmitriy in pro.cxx
а десятичные float/double в стандарте будут или не?
источник

ГH

Гласси Hudobin in pro.cxx
а разве не промоутится сильно дальше до интеловского FPU?
источник

D

Danya in pro.cxx
Гласси Hudobin
а разве не промоутится сильно дальше до интеловского FPU?
Вы про сопроцессор? Мне казалось сейчас предпочитают делать floating point операции на simd
источник

DF

Dollar Føølish in pro.cxx
Fpu шарит регистры с sse2
источник