
1) Переводим 1100111112 в десятичную систему:
1100111112 = 1·28+1·27+0·26+0·25+1·24+1·23+1·22+1·21+1·1 = 41510
2)Переводим целую часть 29710 в 2-ую систему последовательным делением на 2:
297/2 = 148, остаток: 1
148/2 = 74, остаток: 0
74/2 = 37, остаток: 0
37/2 = 18, остаток: 1
18/2 = 9, остаток: 0
9/2 = 4, остаток: 1
4/2 = 2, остаток: 0
2/2 = 1, остаток: 0
1/2 = 0, остаток: 1
29710 = 1001010012
3)Переводим 4758 в десятичную систему:
4758 = 4·82+7·81+5·1 = 31710
Переводим целую часть 31710 в 2-ую систему последовательным делением на 2:
317/2 = 158, остаток: 1
158/2 = 79, остаток: 0
79/2 = 39, остаток: 1
39/2 = 19, остаток: 1
19/2 = 9, остаток: 1
9/2 = 4, остаток: 1
4/2 = 2, остаток: 0
2/2 = 1, остаток: 0
1/2 = 0, остаток: 1
31710 = 1001111012
4)Окончательный ответ: 11101(2) + 110011(2) = 1010000(2)
5)Окончательный ответ: 100110011(2) * 1001101(2) = 101110001010111(2)
6)Окончательный ответ: 1111011(2) - 111011(2) = 1000000(2)
Задание 2.
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
int n;
cin >> n;
while(true)
{
cout << n << " ";
if (n == 1)
{
break;
}
else if (n % 2 == 0)
{
n /= 2;
}
else if (n % 2 == 1)
{
n *= 3;
n++;
}
}
cout << endl;
return 0;
}
Задание 3.
#include <iostream>
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
for (int i = 1; i < 100; i++)
{
cout << i << " ";
if (i % 20 == 19)
{
cout << endl;
}
}
return 0;
}
Задание 4.
#include <iostream>
#include <iomanip>
using namespace std;
int factorial(int n)
{
if (n == 1)
{
return 1;
}
return n * factorial(n - 1);
}
int main()
{
setlocale(LC_ALL, "rus");
int N;
cin >> N;
double sum = 0;
for (int i = 1; i <= N; i++)
{
sum += 1.0 / factorial(i);
}
cout << setprecision(10);
cout << sum << endl;
return 0;
}
Объяснение: