shcooltime
23.11.2020 11:06

дайте ответы на 7_Тест «Формирование изображения на экране монитора» Вариант 1 И ЕЩЁ 7_Тест «Формирование изображения на экране монитора» Вариант НАД​

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
gurgurov68
08.03.2023 14:12

C1D24000 - 16-ричная форма внутреннего представления числа -26,28125 в формате с плавающей точкой в 4-х байтовой ячейке.

Объяснение:

Сначала переводим число -26,28125 без знака в двоичное представление:

целая часть:

26 : 2 = 13 ост 0

13 : 2 =   6 ост 1

 6 : 2 =   3 ост 0

 3 : 2 =   1 ост 1

 1 : 2 =   0 ост 1

итого целая часть 26 (10) = 11010 (2)

дробная часть:

умножаем дробную часть числа (и дробные части полученных произведений) на 2 до тех пор, пока результат не станет =1 или будет достигнута требуемая точность. Целые части результатов записываем по-порядку после запятой:

0,28125 * 2 = 0,5625 --> 0,0

0,5625 * 2   = 1,125   --> 0,01

0,125 * 2     = 0,25     --> 0,010

0,25 * 2       = 0,5       --> 0,0100

0,5 * 2         = 1          --> 0,01001

Получается дробная часть 0,28125 (10) = 0,01001 (2)

Собираем все число вместе: 26,28125 (10) = 11010,01001 (2)

Теперь надо представить его в формате с плавающей точкой.

В этом формате 4 байта = 32 бита.

Распределяются биты так:

1 бит отводится под знак числа 0 или 1.

8 бит - степень

23 бит - мантисса

В нашем случае число отрицательное, значит в первый бит запишем 1.

Теперь надо определить степень и мантиссу  

Степень равна показателю степени старшего разряда целой части +127

В целой части 5 цифр, значит при нумерации с нуля старший разряд будет 4 степени: 11010 = 1,1010 * 2^4

Степень = 4+127=131 (десятичное число)

переведем его в двоичное: 131 (10) = 10000011 (2)

Степень = 10000011

Определим мантиссу:

для этого представим его как произведение на 2 (основание СС) в какой-то степени:

перенесем запятую так, чтобы перед ней оказалась только одна единица (старший разряд). Показатель степени двойки при этом будет равен номеру старшего разряда (нумерация с нуля):

11010,01001 = 1,101001001 * 2^4

осталось дополнить число до 23 знаков после запятой:

1,10100100100000000000000

Мантисса = 10100100100000000000000

Собираем все вместе:

знак   степень       мантисса

  1    10000011    10100100100000000000000

Итого число -26,28125 в машинном представлении в 4-байтовой ячейке в формате с плавающей запятой = 11000001110100100100000000000000

Осталось перевести его в 16-ричное представление:

разбиваем число на блоки по 4 цифры начиная с конца и подставляем вместо каждого блока соответствующее ему 16-ричное значение:

1100 0001 1101 0010 0100 0000 0000 0000

 C       1       D      2       4       0       0       0

11000001110100100100000000000000 (2) = C1D24000 (16)

0,0(0 оценок)
Ответ:
zhenyaevgesha00
07.12.2020 21:52


Program MassXY;
uses crt;
const n = 20;
var
  x,y:array [1..n] of real;
  i,k, maxnum, minnum:integer;
  max, min,temp: real;
begin
  k:=1;
  randomize;
  for i:=1 to n do
    begin
      x[i]:=random(101)-50;
      if (1<=x[i]) and (x[i]<=2) then
        begin
          y[i]:=x[i];
          k:=k+1;
        end;
    end;
  writeln('*** alphaues is thinking... ***');
  max:=y[1];
  maxnum:=1;
  min:=y[1];
  minnum:=1;
  for i:=1 to k do
    begin
      if max<y[i] then
        begin
          max:=y[i];
          maxnum:=i;
        end;
      if min>y[i] then
        begin
          min:=y[i];
          minnum:=i;
        end;      
    end;
    temp:=y[maxnum];
    y[maxnum]:=y[minnum];
    y[minnum]:=temp;
  writeln('Массив Y состоит из ',k,' элементов:');
  for i:=1 to k do
    write(y[i],'  ');
end.

Program MatrixP;
uses crt;
const n=10;
const m=8;
var
  p:array[1..n,1..m] of integer;
  sum:array[1..n] of integer;
  st:array[1..m] of integer;
  i,j,tempsum,min,max,minnum,maxnum : integer;
begin
  Randomize;
  {ввод и вывод матрицы}
  writeln('Начальная матрица:');
  for i:=1 to n do
    begin
      for j:=1 to m do
        begin
          p[i,j]:= Random(100);
          write(p[i,j]:5);
        end;
       writeln;
    end;
  writeln('*** alphaues is thinking... ***');
  {нахождение сумм строк}
  for i:=1 to n do  
    begin
      tempsum:=0;
      for j:=1 to m do
        tempsum:=tempsum+p[i,j];
      sum[i]:=tempsum;
    end;
  maxnum:=1;
  tempsum:=sum[1];
  for i:=1 to n do  
    if tempsum>sum[i] then
      begin
        tempsum:=sum[i];
        minnum:=i;
      end;  
  writeln('Min сумма в ',minnum,'-й строке: ',sum[minnum]);
  {нахождение max элемента матрицы}
  max:=p[1,1];
  for i:=1 to n do
    for j:=1 to m do
      begin
        if max<p[i,j] then max:=p[i,j];
        maxnum:=i;
      end;
  writeln('Max элемент ',max,' находится в ',maxnum,'-й строке');
  for j:=1 to m do
    begin
      st[j]:=p[maxnum,j];
      p[maxnum,j]:=p[minnum,j];
      p[minnum,j]:=st[j];
    end;
  {вывод матрицы}
  writeln('Результат:');
  for i:=1 to n do
    begin
      for j:=1 to m do
        begin
          write(p[i,j]:5);
        end;
       writeln;
    end;
 end.

Program Parabolas;
Uses Crt;
Var
  a, b, c, d, m, n, dis, x1, x2 : real;
begin
  writeln('Введите коэфициенты первой параболы');
  write('A=');readln(a);
  write('B=');readln(b);
  write('C=');readln(c);
  writeln('Введите коэфициенты второй параболы');
  write('D=');readln(d);
  write('M=');readln(m);
  write('N=');readln(n);
  writeln('*** alphaues is thinking... ***');
  if a=d then
    if b=m then
      if c=n then
        writeln('Параболы совпадают!')
      else
        writeln('Параболы не пересекаются!')
    else
      begin
        x1:=(c-n)/(b-m);
        writeln('Параболы пересекаются в 1-й точке: ',x1,' ',a*x1*x1+b*x1+c);
      end
  else
    begin
      dis:=(b-m)*(b-m)-4*(a-d)*(c-n);
      if dis>0 then
        begin
          x1:=((m-b)+sqrt(dis))/(2*(a-d));
          x2:=((m-b)-sqrt(dis))/(2*(a-d));
          writeln('Параболы пересекаются в 2-x точкax: ');
          writeln(x1,' ',a*x1*x1+b*x1+c);
          writeln(x2,' ',a*x2*x2+b*x1+c);
        end
      else
        if dis=0 then  
        begin
          x1:=(m-b)/(2*(a-d));
          writeln('Параболы пересекаются в 1-й точке: ',x1,' ',a*x1*x1+b*x1+c);
        end
        else writeln('Параболы не пересекаются!');
   end;
end.   

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота