1⁵ 0⁴ 1³ 0² 1¹ 0⁰ = 1 · 2⁵ + 0 · 2⁴ + 1 · 2³ + 0 · 2² + 1 · 2¹ + 0 · 2⁰ = 32 + 0 + 8 + 0 + 2 + 0 = 42₁₀
Задание 235 = 32 + 2 + 1 = 2⁵ + 2¹ + 2⁰ = 100 000 + 10 + 1 (в столбик - двоичное сложение) = 100011₂
Задание 3Стоит помнить, что:
1 + 1 = 10
1 + 1 + 1 = 11
1 + 1 + 1 + 1 = 100
Это происходит, потому что в 2-й системе счисления всего два числа - 0 и 1. В 10-й системе счисления это выглядело бы примерно так:
...
1 + 9 = 10
...
1 + 19 = 20
...
1 + 99 = 100
То есть переполнение числа приводит к тому, что цифра слева увеличивается на единицу. В случае, если есть девятка - то цифра слева увеличивается на 1.
999 + 1 = 1 0 0 0
using namespace std;
int main() {
int i, n, imax, imin;
cout << "введите количество товаров: ";
cin >> n;
float p[n], min, max;
cout << "введите цены товаров, каждую с новой строки:" << '\n';
for (i = 0; i <= n-1; i++) {
cin >> p[i];
}
min = max = p[0];
imin = imax = 0;
for (i = 1; i <= n-1; i++) {
if (p[i] > max) {
max = p[i];
imax = i;
}
if (p[i] < min) {
min = p[i];
imin = i;
}
}
cout << "Наибольшая цена: " << max << " (индекс [" << imax << "])" << '\n';
cout << "Наименьшая цена: " << min << " (индекс [" << imin << "])" << '\n';
return 0;
}