Вычисления во вложении. Последнее деление на самом деле можно было бы "в столбик" и не писать, и так понятно, какой будет результат.
2. Переводим в двоичную систему счисления и дописываем вперед незначащие нули, пока не наберётся 8 знаков:
3. Добавляется знаковый бит: дописываем вперед 0, если число положительное, и 1, если отрицательное. Для неотрицательных чисел по сути ничего не меняется, а отрицательные представляем в дополнительном коде: меняем все биты на противоположные и добавляем к результату 1.
-56: меняем биты на противоположные (получаем 11100011) и добавляем 1. Окончательно получается
#include <iostream>
using namespace std;
int main()
{
int num;
cin >> num >> num;
int* ans = new int[num];
for (int jjj = 0; jjj < num; jjj++) cin>> ans[jjj];
for (int jjj = 1; jjj < num; jjj++) {
if (ans[jjj - 1] != ans[jjj] - 1) cout << ans[jjj - 1] << ",";
else {
cout << ans[jjj - 1];
int kkk = jjj;
for (kkk; kkk < num; kkk++)
if (ans[kkk - 1] != ans[kkk] - 1) break;
if (kkk - jjj > 1) cout << "-" << ans[kkk - 1];
else cout << "," << ans[kkk - 1];
jjj = kkk;
if (num - jjj) cout << ",";
}
if (num - jjj == 1) cout << ans[jjj];
}
}
ответ:1. Таблицы сложения и умножения:
Вычисления во вложении. Последнее деление на самом деле можно было бы "в столбик" и не писать, и так понятно, какой будет результат.
2. Переводим в двоичную систему счисления и дописываем вперед незначащие нули, пока не наберётся 8 знаков:
3. Добавляется знаковый бит: дописываем вперед 0, если число положительное, и 1, если отрицательное. Для неотрицательных чисел по сути ничего не меняется, а отрицательные представляем в дополнительном коде: меняем все биты на противоположные и добавляем к результату 1.
-56: меняем биты на противоположные (получаем 11100011) и добавляем 1. Окончательно получается
Объяснение: