Зная количество бит в двоичной записи числа, можно посчитать количество бит в восьмеричной записи, так как из двоичной в восьмеричную систему счисления число можно привести группировкой по трем соседним разрядам, начиная с младших. Например, есть число 1100111. Сгруппируем его разряды: (1)(100)(111)=147 - в восьмеричной СС. Пусть количество разрядов 2-ичного числа равно n. Тогда количество разрядов восьмеричного числа будет n/3, деленное нацело и округленное вверх. n=7 => n/3=7/3. Округляем, будет 3. a) 10111010. n=8 => 8/3 - 3 8-ричных разряда б) 1001111000111, n=13 => 13/3 - 5 8-ричных разрядов в) A18C. Сначала найдем n. Посмотрим, сколько значащих разрядов у старшей цифры. A=1010 - 4 разряда. У остальных цифр по 4 разряда всегда. Поэтому n=3*4+4=16 => 16/3 - 6 8-ричных разрядов. г) 1375BE. 1=1 : 1 разряд => n=5*4+1=21 => 21/3 - 7 8-ричных разрядов
При запуске программы массив для неё не имеет никакого значения. Он создан только для того чтобы программистам было написать программу.
Пример(он будет на языке С++ но суть думаю будет понятна)
Создадим 5 переменных
int a1 = 1;
int a2 = 2;
int a3 = 3;
int a4 = 4;
int a5 = 5;
И вот для того чтобы вывести нам нужно будет написать
cout << a1 << a2 << a3 << a4 << a5;
Это не удобно по этому программисты придумали массивы.
Создадим массив для 5 элементов
int a[4]; // Так как отчёт начинает с нуля. 0,1,2,3,4
и заполним, а так же выведем его при цикла
for(int i = 1; i<=4; i++){
a[i] = i;
cout << a[i];
}
Код стал намного меньше и намного лучше читабельный.