1) а) 101010 в 2 с.сч. - 52 в 8 системе счисления
Обьяснение:
101 - 5
010 - 2 ( данные значения смотреть по таблице систем счисления, их следует учить наизусть )
б) 101010 в 2 с.сч. - 42 в 10 с.сч.
Объяснение:
101010 = 2^5 + 2^3 + 2^1 = 32 + 8 + 2 = 42
в) 101010 в 2 с.сч. = 2А в 16 с.сч.
Объяснение:
10 или 0010 - 2
1010 - А
2) а) 127 в 8 с.сч. - 1010111 в 2 с.сч.
Объяснение:
1 = 001 или 1
2 = 010
7 = 111
б) 127 в 8 с.сч. - 87 в 10 с.сч.
Объяснение:
127 = 8^2 + 2*8^1 + 7 = 64 + 16 + 7 = 87
в) 127 в 8 с.сч. - 57 в 16 с.сч.
Объяснение:
Сначала нужно перевести либо в 2 систему счисления, либо в 10 систему счисления.
Я буду использовать 2 с.сч. :
127 в 8 с.сч. - 1010111 в 2с.сч. --> 57 в 16 с.сч.
101 или 0101 = 5
0111 = 7
3) а) 321 в 10 с.сч. - 101000001 в 2 с.сч.
Объяснение:
321 : 2 = 160 остаток 1
160 : 2 = 80 остаток 0
80 : 2 = 40 остаток 0
40 : 2 = 20 остаток 0
20 : 2 = 10 остаток 0
10 : 2 = 5 остаток 0
5 : 2 = 2 остаток 1 ^
2 : 2 = 1 остаток 0 |
1 : 2 = 0 остаток 1 | ( стрелочка вверх, нужно писать значения остатков с низу в верх )
б) 321 в 10 с.сч. - 501 в 8 с.сч.
Объяснение:
Мне удобно рассматривать по 2 с.сч., так как она уже нам известна:
101000001 в 2 с.сч. - 501 в 8 с.сч.
101 = 5
000 = 0
001 = 1
в) 321 в 10 с.сч. = 141 в 16 с.сч.
Объяснение:
Снова использую 2 с.сч. :
101000001 в 2 с.сч. - 141 в 16 с.сч.
1 или 0001 = 1
0100 = 4
0001 = 1
4) а) 2А в 16 с.сч. - 101010 в 2 с.сч.
Объяснение смотреть в пункте 1), по аналогии, даже цифры одинаковые
б) 2А в 16 с.сч. - 52 в 8 с.сч.
в) 2А в 16 с.сч. - 42 в 10 с.сч.
1. 0..65534 -> 32767
2. 0..32766 -> 16383
3. 0..16382 -> 8191
4. 0..8190 -> 4095
5. 0..4094 -> 2047
6. 2048..4094 -> 3071
7. 2048..3070 -> 2559
8. 2560..3070 -> 2815
9. 2816..3070 -> 2943
10. 2944..3070 -> 3007
11. 2944..3006 -> 2975
12. 2976..3006 -> 2991
13. 2992..3006 -> 2999
14. 3000..3006 -> 3003
15. 3000..3002 -> 3001
Если лень перебирать вручную, можно воспользоваться программой
var k,l,r,x,f:integer;
begin
f := 3001;
l := 0;
r := 65534;
x := (l + r) div 2;
k := 1;
while (x <> f) and (l < r) do
begin
writeln(k,' ',l,' ',r,' ',x);
k := k + 1;
if f < x then r := x - 1
else l := x + 1;
x := (l + r) div 2
end;
writeln(k,' ',l,' ',r,' ',x);
end.