@FuckinSlave

Есть ли точные типы данных с плавающей точкой в C/C++?

#include <stdio.h>


int main()
{
	  float a = 1/3.0;
      if(a==0)
      {
		  printf("NICE %lf",a);
	  }
	  else
	  {
		  printf("Not NICE %lf",a);
	  }
	  
	  
	return 0;
}

#include <stdio.h>


int main()
{
	  float a = 1/3;
      if(a==0)
      {
		  printf("NICE %lf",a);
	  }
	  else
	  {
		  printf("Not NICE %lf",a);
	  }
	  
	  
	return 0;
}

Причины данного недоразумения я знаю, так что отправлять на статьи объясняющие почему это происходит меня не надо. Так вот , есть ли в C/C++ типы данных которые точнее представляют числа с плавающей точкой или с этим нужно просто смириться ?
  • Вопрос задан
  • 211 просмотров
Решения вопроса 2
sabone
@sabone
beginner developer
Если только так, иначе 1 / 3 это целые числа int
float z = 1;
float x = 3;
float a = z / x;
Ответ написан
%(0.x)lf где х - количество знаков после точки.
printf("Not NICE %0.10lf",a);
Если мало
double от 1.7Е-308 до 1.7Е+308
long double от 3.4Е-4932 до 3.4Е+4932
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы