aiis17
03.05.2022 03:16

Написать программу решения задачи. Исходные данные определить самостоятельно


Написать программу решения задачи. Исходные данные определить самостоятельно

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
машунька0811
26.10.2020 19:42

Задание 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;

}

Объяснение:

0,0(0 оценок)
Ответ:
Ренчик223
17.09.2022 14:53
1. 16-битная арифметика со знаком предполагает, что самый левый бит используется для хранения знака. Отрицательные числа хранятся в дополнительном коде. При этом диапазон представления данных составляет -32768..32767.
32760+9 можно записать как 32767+2. Это позволит избежать перевода 32760 в двоичную систему счисления, а 32767 - это 15 двоичных единиц. В знаковом разряде, конечно же, ноль.
После сложения в знаковом разряде появляется единица, что означает наличие отрицательного числа в дополнительном коде. Знаковый разряд мы не трогаем, а остальные инвертируем и арифметически прибавляем к полученному числу единицу. Тем самым переходим к прямому коду, который переводим в десятичную систему представления. И результат, конечно, же, будет со знаком минус, т.е. -32767. Вот к чему приводит переполнение разрядной сетки в целочисленной арифметике. Кстати, аппаратно оно не обнаруживается, поскольку криминала нет - просто +1 переходит в самый старший (левый) разряд. "Железо" ведь не знает, сколько разрядов мы отвели под представление чисел и как биты нужно рассматривать! Соответствующая картинка находится в первом вложении.

2. В восьмибитной арифметике все происходит аналогично. 127 представляется знаковым нулем и семью единицами в остальных разрядах, т.е. 01111111₂. Тройка - это 0..011₂
Складываем и получаем 10000010₂. Опять знаковый разряд единичный, инвертируем остальные: 11111101. А теперь прибавляем единицу и получаем 11111110₂. Числу 1111110₂ (знаковый разряд мы не учитываем) соответствует 126₁₀, а с учетом знака окончательно получаем -126.

3. Тут немного больше нужно повозиться. Арифметика снова 16-битная, диапазон представления чисел -32768..32767.
Выпишем факториалы в пределах этого диапазона и одно значение вне его. 1!=1, 2!=2, 3!=6, 4!=24, 5"=120, 6!=720, 7!=5040, 8!=40320.
Делаем вывод, что максимальное значение факториала можно вычислить для n=7 и n!=5040. Тогда n+1=8 и при его вычислении у нас возникнет арифметическое переполнение. Переведем число 5040 в двоичную систему и умножим его на 8, поскольку 8! = 7! × 8. Поскольку 8 = 2³, то умножение на 8 в двоичной системе равносильно сдвигу числа влево на три разряда. Подробности приведены на рисунке во втором вложении. Мы получим "странный" результат: 8! = -25216.

1)выполните сложение десятичных чисел 32760 + 9 в 16-битной арифметике со знаком. 2)каков будет резу
1)выполните сложение десятичных чисел 32760 + 9 в 16-битной арифметике со знаком. 2)каков будет резу
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота