Для того, чтобы перевести число из десятичной системы в двоичную, нужно делить число на 2 и записывать остаток:
а. 89 ÷ 2 = 44, остаток 1;
44 ÷ 2 = 22, остаток 0;
22 ÷ 2 = 11, остаток 0;
11 ÷ 2 = 5, остаток 1;
5 ÷ 2 = 2, остаток 1;
2 ÷ 2 = 1, остаток 0;
1 ÷ 2 = 0, остаток 1
Запишем остатки от деления в обратном порядке: 1011001.
89₁₀ = 1011001₂
По такой же аналогии переведём остальные числа:
б. 600 ÷ 2 = 300, остаток 0;
300 ÷ 2 = 150, остаток 0;
150 ÷ 2 = 75, остаток 0;
75 ÷ 2 = 37, остаток 1;
37 ÷ 2 = 18, остаток 1;
18 ÷ 2 = 9, остаток 0;
9 ÷ 2 = 4, остаток 1;
4 ÷ 2 = 2, остаток 0;
1 ÷ 2 = 0, остаток 1;
600₁₀ = 1001011000₂
в. 2010 ÷ 2 = 1005, остаток 0;
1005 ÷ 2 = 502, остаток 1;
502 ÷ 2 = 251, остаток 0;
251 ÷ 2 = 125, остаток 1;
125 ÷ 2 = 62, остаток 1;
62 ÷ 2 = 31, остаток 0;
31 ÷ 2 = 15, остаток 1;
15 ÷ 2 = 7, остаток 1;
7 ÷ 2 = 3, остаток 1;
3 ÷ 2 = 1, остаток 1;
1 ÷ 2 = 1, остаток 1;
2010₁₀ = 11111011010₂
#include <iostream>
#include <cmath>
const int length = 6;
int main()
{
int numb;
std::cout << "Input number: ";
std::cin >> numb;
if (!(numb >= (int)pow(10, length - 1) && numb < (int)pow(10, length))) {
std::cout << "\nInput error!";
}
else {
bool isPal = true;
for (int i = 0; i < length / 2; i++) {
if (((numb % (int)pow(10, i + 1) - numb % (int)pow(10, i)) / (int)pow(10, i)) != (numb / (int)pow(10, length - 1 - i) - 10 * (numb / (int)pow(10, length - i {
isPal = false;
std::cout << "\nIt's" << (isPal ? "" : " not a") << " palindrome";
return 0;
Для того, чтобы перевести число из десятичной системы в двоичную, нужно делить число на 2 и записывать остаток:
а. 89 ÷ 2 = 44, остаток 1;
44 ÷ 2 = 22, остаток 0;
22 ÷ 2 = 11, остаток 0;
11 ÷ 2 = 5, остаток 1;
5 ÷ 2 = 2, остаток 1;
2 ÷ 2 = 1, остаток 0;
1 ÷ 2 = 0, остаток 1
Запишем остатки от деления в обратном порядке: 1011001.
89₁₀ = 1011001₂
По такой же аналогии переведём остальные числа:
б. 600 ÷ 2 = 300, остаток 0;
300 ÷ 2 = 150, остаток 0;
150 ÷ 2 = 75, остаток 0;
75 ÷ 2 = 37, остаток 1;
37 ÷ 2 = 18, остаток 1;
18 ÷ 2 = 9, остаток 0;
9 ÷ 2 = 4, остаток 1;
4 ÷ 2 = 2, остаток 0;
2 ÷ 2 = 1, остаток 0;
1 ÷ 2 = 0, остаток 1;
600₁₀ = 1001011000₂
в. 2010 ÷ 2 = 1005, остаток 0;
1005 ÷ 2 = 502, остаток 1;
502 ÷ 2 = 251, остаток 0;
251 ÷ 2 = 125, остаток 1;
125 ÷ 2 = 62, остаток 1;
62 ÷ 2 = 31, остаток 0;
31 ÷ 2 = 15, остаток 1;
15 ÷ 2 = 7, остаток 1;
7 ÷ 2 = 3, остаток 1;
3 ÷ 2 = 1, остаток 1;
1 ÷ 2 = 1, остаток 1;
2010₁₀ = 11111011010₂
#include <iostream>
#include <cmath>
const int length = 6;
int main()
{
int numb;
std::cout << "Input number: ";
std::cin >> numb;
if (!(numb >= (int)pow(10, length - 1) && numb < (int)pow(10, length))) {
std::cout << "\nInput error!";
}
else {
bool isPal = true;
for (int i = 0; i < length / 2; i++) {
if (((numb % (int)pow(10, i + 1) - numb % (int)pow(10, i)) / (int)pow(10, i)) != (numb / (int)pow(10, length - 1 - i) - 10 * (numb / (int)pow(10, length - i {
isPal = false;
}
}
std::cout << "\nIt's" << (isPal ? "" : " not a") << " palindrome";
}
return 0;
}