А) У нас есть число в двоичной системе счисления: 01001100. Над каждой цифрой напишем ее разряд (справа налево; разряд начинается с 0). Затем мы первую цифру данного нам числа должны перемножить на основание данного нам числа ( т.к 01001100 - двоичное число, то основание соответственно равно 2) в какой-то степени ( степень определяется разрядом цифры), затем нужно проделать это со всеми цифрами числа и сложить результаты(все это делается с право налево). 01001100(2) = 1*2^6 + 1*2^3 + 1*2^2 = 76(10) ( 0 можно опускать, так как при умножении на 0 всегда будет 0) б) 00010101(2) = 1*2^4 + 1*2^2 + 1*2^0 = 21(10) P.s Так как код прямой, то все разряды являются целом числом в двоичном коде. Самый крайний левый разряд определяет знак числа в десятичной системе счисления ( если 0, то +, если 1, то -)
/* C++ compiler gcc (Ubuntu 5.2.1-22ubuntu2) 5.2.1 20151010 Copyright (C) 2015 Free Software Foundation, Inc. */
#include <iostream> #include <vector> using namespace std;
int main() { int count = 0; cout <<"Введите количество призывников: "; cin >>count; if (count>17) count=17; vector<int> tanks(count); for (unsigned i=0; i<tanks.size(); i++) cin >>tanks[i]; int min=300, max=0; for (unsigned i=0; i<tanks.size(); i++) { if (min>tanks[i]) min=tanks[i]; if (max<tanks[i]) max=tanks[i]; } int cnt=0; for (unsigned i=0; i<tanks.size(); i++) { if ((tanks[i]!=min) and (tanks[i]!=max)) cnt++; }
cout <<cnt <<endl; }
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку