Что бы закодировать информационный объем одного шарика нужно 5 бит.
По формуле 2^i=N
Где i - и есть иформационный объем одного элемента
а N - мощность алфавита(количества символов или как в нашем случаи количество шариков)
2^5=32
Ответ: 32 шарика
Разделим двоичные числа по 4 битам, начиная с конца:
0001 0001 1100
Заменим каждые 4 бита на соответствующее число в системе счисления с основанием 16.
0001 = 1 * 2^0 = 1
0001 = 1 * 2^0 = 1
1100 = 1 * 2^3 + 1 * 2^2 = 8 + 4 = 12 = С
100011100 = 11C
Аналогично для 11111:
0001 1111
0001 = 1 * 2^0 = 1
1111 = 1 * (2^3 + 2^2 + 2^1 + 2^0) = 15 = F
11111 = 1F
Ответ: 11С, 1F.
1. 1989
2. 2010
3. 2011
4.2012
5.3999
<span>#include <stdio.h>
</span><span>#include "stdafx.h"</span>
<span>#include "iostream"</span>
<span>#include "conio.h"
</span><span>#include <span>"locale.h"
</span></span><span>using namespace std;
</span><span>int main()
</span>
{
<span>
int x;</span><span>
cin
>> x;</span><span>
int a = x;</span><span>
x
= (x & 0x55) << 1 | (x & 0xAA) >> 1;</span><span>
x = (x & 0x33) << 2 | (x & 0xCC) >> 2;</span><span>
x = (x & 0x0F) << 4 | (x
& 0xF0) >> 4;</span><span>
int<span>
s, k;</span></span><span>
k
= 1;</span><span>
s
= 0;</span><span>
while (x > 0)</span><span>
{</span><span>
s
+= k*(x % 2);</span><span>
k
*= 10;</span><span>
x
/= 2;</span><span>
}</span><span>
int<span>
p, o;</span></span><span>
p
= 1;</span><span>
o
= 0;</span><span>
while (a > 0)</span><span>
{</span><span>
o
+= p*(a % 2);</span><span>
p
*= 10;</span><span>
a
/= 2;</span><span>
}</span><span>
cout
<< o;</span><span><span>
cout
<< </span>"\n" << s;</span><span>
getchar();</span><span>
getchar();</span><span>
return 0;</span><span>
}
</span>получает
случайное целое типа int<span>, выводит его двоичное представление на экран, </span>
Изменить порядок
следования битов в числе на обратный
150×200÷30= 1000
Это бит если нужно переведи в байты