Маrprokap
06.01.2020 13:13

Соч информатика 5 класс 2 четверть

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
teunov
10.12.2020 08:40
#include <iostream>
using namespace std;

int main() {
    int n=12, imax=0, imin=0;
    int a[n];
    srand(time(NULL));
    cout<<"array:"<<endl;
    for (int i=0; i<n; i++)
    {
      a[i]=rand() % 50;
      cout<<a[i]<<" ";
    }
    cout<<endl;
    for (int i=1; i<n; i++) {
     if (a[i] > a[imax]) imax = i;
     if (a[i] < a[imin]) imin = i;
    }
    for (int i=0; i<n; i++) {
     if (i == imax || i == imin) cout << " ! " << a[i] << " ! ";
     else  cout << a[i] << " ";
    }
    cout<<endl;
    return 0;
}

Пример:
array:
31 0 13 29 13 34 33 42 40 26 48 24
31 ! 0 ! 13 29 13 34 33 42 40 26 ! 48 ! 24
0,0(0 оценок)
Ответ:
play1239
07.01.2022 22:15
Для перевода чисел в дополнительный код, нужно:
1) перевести в двоичную систему счисления
0000 1101            13
0000 0111             7
2) инвертировать (заменить 0 на 1 и наоборот)
1111 0010
1111 1000
3) и прибавить 1
1111 0011
1111 1001
все)
числа в дополнительном коде мы получили

теперь сложение:
   1111 0011
   1111 1001 +
1 1110 1100
мы получили переполнение и единицу в старшем разряде, это значит, сумма будет со знаком минус
теперь переведем сумму в обычный код, не трогаем старший бит
1) _001 0011 инвертируем биты
2) _001 0100 прибавим 1
3) переводим в десятичную систему счисления:
2^{2}+ 2^{4} = 20

вспоминаем, что сумма отрицательная, поэтому ответ будет: -20
------------
для положительных чисел нужно перевести в двоичную систему
Например:
2 + 3
0000 0010 - 2
0000 0011 - 3
и сложить
0000 0101 - 2^{2} + 2^{1} = 2 + 4 = 6
у положительных дополнительный код совпадает с прямым кодом
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота