4)Число 1011112 перевести в восьмеричную систему счисления 5) Выполните умножение чисел...

0 голосов
46 просмотров

4)Число 1011112 перевести в восьмеричную систему счисления

5) Выполните умножение чисел 1112 и 1112

2) Определить количество двоичных разрядов достаточных для кодирования 510 различных состояний?


Информатика (388 баллов) | 46 просмотров
Дано ответов: 2
0 голосов
Правильный ответ

 

2) для байта используется 8 бит что даёт 2 в 8 степени 256 различных состояний 2 в 9 степени дают 512 различных состояний следовательно 9 двоичных разрядов достаточно чтобы закодировать 510 различных состояний.

 

 

я так понимаю в 4 и 5 заданиях числа приведены в двоичной форме

 

 

 4) Разобъём число на две группы по 3 разряда и получим 101 и 111 следовательно  

101111(Bin)=57(Oct)

 

 

 

5) 111 - это 7 в десятичной  значит 7*7=49=110001

 Либо кмножать в "столбик"

(2.4k баллов)
0 голосов

4)Число 1011112 перевести в восьмеричную систему счисления

 

function Pow(a,x:integer):integer;
var
 P, i :integer;
begin
  if x = 0 then
    Pow := 1
  else
  begin
    P := 1;
    for i := 1 to x do
      P := P * a;
    Pow := P;
  end;
end;

 

var
  count, c, r:integer;
begin
 count := 0;
 r := 0;
 c := 101111;
 while c > 0 do
 begin
   r := r + (c mod 10) * Pow(2, count);
   inc(count);
   c := c div 10;
 end;
 writeln('R = ', r);
end.

 

 

 

5) Выполните умножение чисел    1112   и   1112

 

 

function Pow(a,x:integer):integer;
var
 P, i :integer;
begin
  if x = 0 then
    Pow := 1
  else
  begin
    P := 1;
    for i := 1 to x do
      P := P * a;
    Pow := P;
  end;
end;

function Summ(a, b:integer):integer;
var
  r, t, count:integer;
begin
  count := 0;
  r := 0;
  t := 0;
  while (a > 0) or (b > 0) do
  begin
   r := r + (((a mod 2) + (b mod 2) + t) mod 2) * Pow (10, count);
   inc(count);
   t := (a mod 2 + b mod 2 + t) div 2;
   a := a div 10;
   b := b div 10;
  end;
  r := r + t * Pow(10, count);
  Summ := r;
end;

var
  A,B , buff, count, r:integer;
begin
  count := 0;
  r := 0;
  A := 111;
  B := 111;
  buff := B;
  while Buff > 0 do
  begin
    r := Summ(r, A * (Buff mod 10) * Pow(10, count));
    Buff := Buff div 10;
    inc(count);
  end;
  writeln('R = ', r);
end.

 

 

2) Определить количество двоичных разрядов достаточных для кодирования 510 различных состояний?

 

 

function Pow(a,x:integer):integer;
var
 P, i :integer;
begin
  if x = 0 then
    Pow := 1
  else
  begin
    P := 1;
    for i := 1 to x do
      P := P * a;
    Pow := P;
  end;
end;

var
  N, count :integer;
begin
  count := 1;
  write('N = ');
  Readln(N);
  N := abs(N);
  while (Pow(2, count) < N) do
    inc(count);
  writeln('Count = ', count);
  readln;
end.

(3.1k баллов)