Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

float и double

8.8K
14 ноября 2008 года
opex
71 / / 17.01.2007
 
Код:
double  c1=a1+b1,a1=11111110,b1=100000000;
float   c2=a2+b2,a2=11111110,b2=100000000;
printf("double:a1+b1=c1=%f\n",c1);
printf("float:  a2+b2=c2=%f\n",c2);


c1=111111110.
c2=111111112.

c1!=c2. Почему результат с2 такой и неверный? очевидно, конечно, что дело в типе данных

p.s. Ведь ведь a2,b2,c2 попадают в диапазон значений для float и фишка не в этом?
240
14 ноября 2008 года
aks
2.5K / / 14.07.2006
Почитай про работу с числами с плавающей точкой. Это особенность их представления в памяти и приведений к двоичному/десятичному виду.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог