valerii-borisovich550
?>

Выполнить арифметические операции: - в двоичной системе счисления : 1010 * 10111, 101010 - 1111 - в восьмеричной системе счисления: 4567+654, 365*777 - в шестнадцатеричной системе счисления: е3+a1-d4*b2 проверьте результат вычислений с использованием десятичной системы счисления.

Информатика

Ответы

dionissia2

1010₂ * 10111₂ = 11100110₂

1) 1010₂ = 1 * 2³ + 0 * 2² + 1 * 2¹ + 0 * 2⁰ = 8 + 2 = 10

2) 10111₂ = 1 * 2⁴ + 0 * 2³ + 1 * 2² + 1 * 2¹ + 1 * 2⁰ = 16 + 4 + 2 + 1 = 23

3) 10 * 23 = 230 4) 230 = 11100110₂ 230 / 2 = 115 (ост. 0) / 2 = 57 (ост. 1) / 2 = 28 (ост. 1) / 2 = 14 (ост. 0) / 2 = 7 (ост. 0) / 2 = 3 (ост. 1) / 2 = 1 (ост. 1)

101010₂ - 1111₂ = 11011₂

1) 101010₂ = 1 * 2⁵ + 0 * 2⁴ + 1 * 2³ + 0 * 2² + 1 * 2¹ + 0 * 2⁰ = 32 + 8 + 2 = 2423

2) 1111₂ = 1 * 2³ + 1 * 2² + 1 * 2¹ + 1 * 2⁰ = 8 + 4 + 2 + 1 = 15

3) 42 - 15 = 27 4) 27 = 11011₂  27 / 2 = 13 (ост. 1) / 2 = 6 (ост. 1) / 2 = 3 (ост. 0) / 2 = 1 (ост. 1)

4567₈ + 654₈ = 5443₈

1) 4567₈ = 4 * 8³ + 5 * 8² + 6 * 8¹ + 7 * 8⁰ = 2048 + 320 + 48 + 7 = 2423

2) 654₈ = 6 * 8² + 5 * 8¹ + 4 * 8⁰ = 384 + 40 + 4 = 428

3) 2423 + 428 = 2851 4) 2851 = 5443₈ 2851 / 8 = 356 (ост. 3) / 8 = 44 (ост. 4) / 8 = 5 (ост. 4) = 5443₈

365₈ * 777₈ = 364413₈

1) 365₈ = 3 * 8² + 6 * 8¹ + 5 * 8⁰ = 192 + 48 + 5 = 245

2) 777₈ = 7 * 8² + 7 * 8¹ + 7 * 8⁰ = 448 + 56 + 7 = 511

3) 245 * 511 = 125 195 4) 125195 = 364413₈  125 195 / 8 = 15649 (ост. 3) / 8 = 1956 (ост.1) / 8 = 244 (ост. 4) / 8 = 30 (ост. 4) / 8 = 3 (ост. 6)

zuzazuza61
В наихудшем случае, последнее новогоднее число - 11111111.

#include <iostream>

bool isNewYearNumber(int n);
int sumDigits(int num);
bool hasZero(int n);

int main() {
  const int LASTNEWYEARNUMBER = 11111111;
  long long sum = 0;
  for(int i = 0; i <= LASTNEWYEARNUMBER; i++)
    if ( isNewYearNumber(i) )
      sum += i;
  std::cout << "Сумма всех новогодних чисел: " << sum << '\n';
  return 0;
}

bool isNewYearNumber(int n)
{
  if ( !( hasZero(n) ) && sumDigits(n) == 8)
    return true;
  else
    return false;
}

int sumDigits(int num)
{
  int sum = 0;
  while ( num > 0 ) {
    sum += num % 10;
    num /= 10;
  }
  return sum;
}

bool hasZero(int n)
{
  if (n < 0)
    n = -1 * n;
  if (n % 10 == 0)
    return true;
  else if (n / 10 > 0)
     hasZero(n / 10);
  else
    return false;
}
dinadumno2114
В наихудшем случае, последнее новогоднее число - 11111111.

#include <iostream>

bool isNewYearNumber(int n);
int sumDigits(int num);
bool hasZero(int n);

int main() {
  const int LASTNEWYEARNUMBER = 11111111;
  long long sum = 0;
  for(int i = 0; i <= LASTNEWYEARNUMBER; i++)
    if ( isNewYearNumber(i) )
      sum += i;
  std::cout << "Сумма всех новогодних чисел: " << sum << '\n';
  return 0;
}

bool isNewYearNumber(int n)
{
  if ( !( hasZero(n) ) && sumDigits(n) == 8)
    return true;
  else
    return false;
}

int sumDigits(int num)
{
  int sum = 0;
  while ( num > 0 ) {
    sum += num % 10;
    num /= 10;
  }
  return sum;
}

bool hasZero(int n)
{
  if (n < 0)
    n = -1 * n;
  if (n % 10 == 0)
    return true;
  else if (n / 10 > 0)
     hasZero(n / 10);
  else
    return false;
}

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Выполнить арифметические операции: - в двоичной системе счисления : 1010 * 10111, 101010 - 1111 - в восьмеричной системе счисления: 4567+654, 365*777 - в шестнадцатеричной системе счисления: е3+a1-d4*b2 проверьте результат вычислений с использованием десятичной системы счисления.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Aleksei806
natapetrova20017
vodoleytatyana
annanudehead1426
inainainainaina0073
Vladimirovich1898
sky-elena712558
ruslanchikagadzhanov
mouse-0211fsb3509
Yelizaveta1848
rsksnb
e90969692976
konstantin0112
topsalon
Aleksei Aleksandrovna649