vak: (Знайка)
[personal profile] vak
#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");
    }
}
Это мне надо было простенький тестик сварганить по работе, суммировать плавающие числа, а оно вон как боком выскочило.

Date: 2023-01-15 06:40 (UTC)
From: [personal profile] dijifi
В начале моей карьеры видел я квадратный корень из четырех равный единице, но только для инструкции single precision. Глючный микрокод у железа. Так, вспомнилось.

Date: 2023-01-15 08:02 (UTC)
From: [personal profile] dijifi
В начале моей карьеры видел я квадратный корень из четырех равный единице, но только для инструкции single precision. Глючный микрокод у железа. Так, вспомнилось.

Date: 2023-01-15 14:22 (UTC)
sobriquet9: (Default)
From: [personal profile] sobriquet9
Так оно и получается. Даже с дробями всё точно, только в двоичной системе. Хотите, чтоб в десятичной было точно - переделайте вычислитель, чтоб он считал в десятичной системе. Такое вроде уже ж было, какие-то компьютеры внутри себя считали всё в BCD.

А ещё лучше сразу в шестидесятиричной, как у древних египтян. Тогда на три тоже делить удобно будет.