![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
#include <stdio.h> int main () { if (-5.2 + 4.9 != -0.3) { printf("Oops!\n"); } if (4.8 - 6.1 != -1.3) { printf("Oops!\n"); } if (4.3 - 3.6 != 0.7) { printf("Oops!\n"); } }Это мне надо было простенький тестик сварганить по работе, суммировать плавающие числа, а оно вон как боком выскочило.
nz
Date: 2023-01-14 23:22 (UTC)Зачем так сложно,
0.1 + 0.2 != 0.3
же.Re: nz
From:C#
From:Re: C#
From:Re: C#
From:Re: C#
From:Re: C#
From:(no subject)
From:(no subject)
From:no subject
Date: 2023-01-14 23:30 (UTC)Тестик, в принципе, относится к этим специальным случаям. Тут можно воспользоваться простым подходом: использовать числа, кратные 1/2^n, где n < 24. Например, 0.25+0.375
(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2023-01-15 01:29 (UTC)Вечная тема. вообще говоря, вопрос равенства вещественных чисел и теоретически сложен. Проще считать, что это не эквациональная теория.
(no subject)
From:(no subject)
From:no subject
Date: 2023-01-15 02:07 (UTC)(no subject)
From:(no subject)
From:если на плюсах ...
From:no subject
Date: 2023-01-15 05:53 (UTC)(no subject)
From:(no subject)
From:(no subject)
From:(no subject)
From:no subject
Date: 2023-01-18 11:08 (UTC)(no subject)
From: