67125/2=33562 - ост 1
33562/2=16781 - ост 0
16781/2=8390 - ост 1
...
1/2=0 ост 1
Запишем остатки в обратном порядке: 10000011000110101
67125 (10)=10000011000110101 (2)
Теперь переведем из 2 в 8
10000011000110101 (2), разбиваем числа по 3 начиная с конца:
010 000 011 000 110 101 , переведем каждое из них в 8
2 0 3 0 6 5
10000011000110101 (2) = 203065 (8)
Теперь переведем из 2 16
10000011000110101 (2), разбиваем числа по 4 начиная с конца:
0001 0000 0110 0011 0101 , переведем каждое из них в 16
1 0 6 3 5
10000011000110101 (2) = 10635 (16)
Ответ: 10000011000110101 (2); 203065 (8); 10635 (16);
PS: Разбитие на 3 и на 4 объясняется тем, что 1 число восьмеричное пишется в двоичной системе из 3 знаков, а 16 из 4.
var a:array[1..15]of integer;
x,i:integer;
begin
i:=1;
while i<16 do begin
readln(x);
if x<0 then a[i]:=x;
inc(i);
end;
for i:=1 to 15 do if a[i]<0 then writeln(i);
end.
Такой вид информации называется осязанием
Var
N,S,d:integer;
Begin
S:=0;
Write('N = ');ReadLn(N);
For d:= 1 to N do
if N mod d = 0 then S:=S+d;
WriteLn('S = ',S)
End.
149(10)=10010101(2)
Если не задана разрядность, будем обходиться минимально необходимым количеством разрядов.
Тогда переводим в дополнительный код:
1 01101011
Если нужно дотянуть до 2х байт, то:
11111111 01101011