#include <iostream>
#include <math.h>
using namespace std;
int main()
{
double a, b, c, x1, x2, d;
do{
cout << "Input a: ";
cin >> a;
if (a == 0) {
cout << "Error! a = 0! This isn't a square equation! Try again" << endl;
}
} while (a == 0);
cout << "Input b: ";
cin >> b;
cout << "Input c: ";
cin >> c;
d = b * b - 4. * a * c;
if (d < 0) {
cout << "No roots";
return 1;
}
else if (d == 0) {
cout << "x = " << -b / 2. / a;
return 2;
}
else {
cout << "x1 = " << (-b + sqrt(d)) / 2. / a << ", x2 = " << (-b - sqrt(d)) / 2. / a;
return 0;
}
}
Для представления в двоичной системе счисления числа х, записанного в десятичной системе счисления, число х необходимо записать в следующем виде:
х = an * 2n + an-1 * 2n-1 + ... + a1 * 21 + a0 * 20
где коэффициенты an, an-1, ..., a1, a0 это либо 1 либо 0.
Тогда запись anan-1...a1a0 и будет числом х, записанным в двоичной системе счисления.
Запишем число 777 в двоичной системе счисления
777 = 512 + 256 + 8 + 1 = 29 + 28 + 23 + 20 = 1 * 29 + 1 * 28 + 0 * 27 + 0 * 26 + 0 * 25 + 0 * 24 + 1 * 23 + 0 * 22 + 0 * 21 + 1 * 20 = 11000010012.
Следовательно, двоичной записи десятичного числа 777 есть 6 нулей.
ответ: двоичной записи десятичного числа 777 есть 6 нулей.