Я знаю, что, хотя мы хотим верить, что компьютеры работают без ошибок, транзисторы не идеальны, и 1 + 1 не всегда будет возвращать 2 на уровне транзисторов.
Я также знаю, что Чтобы защитить нас от ошибок, большинство компьютеров в настоящее время имеют алгоритмы резервирования, обнаружения и исправления ошибок.
При этом, каковы шансы, что следующая программа C ++ напечатает неправильный результат без предупреждения? Есть ли шанс?
#include <iostream>
using namespace std;
int main()
{
int a = 1, b = 1;
int sum = a + b;
cout << "Sum = " << sum;
return 0;
}
Давайте предположим, что по состоянию на 2020 год мы используем ноутбук со средней стоимостью x64 $ 1000.
Этот вопрос имеет более широкий охват. Мы выполняем миллиарды вычислений в секунду, я хочу знать, сколько может go ошибаться в сложной программе, на теоретическом уровне.