рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Вміти отримувати результати завдяки використанню машинного алгоритму множення цілих двійкових чисел

Вміти отримувати результати завдяки використанню машинного алгоритму множення цілих двійкових чисел - раздел Образование, Лабораторна Робота 5 ...

Лабораторна робота 5

МНОЖЕННЯ ЦІЛИХ ДВІЙКОВИХ ЧИСЕЛ

 

Мета роботи

У результаті виконання лабораторної роботи:

· вміти реалізовувати множення цілих двійкових чисел;

· вміти отримувати результати завдяки використанню машинного алгоритму множення цілих двійкових чисел.

 

Теми для попереднього пророблення

5.2.1.Лінійні і циклічні зсуви; використання стану ознаки CF, яка міститься в регістрі ознак процесора.

5.2.2. Переведення цілих чисел із 10-ї системи числення в 2-у і навпаки.

5.2.3. Отримання двійкових прямого (ПК) і додаткового (ДК) кодів.

Завдання до лабораторної роботи

Таблиця 5.1 – Вихідні дані для виконання лабораторної роботи Варіант Множене А10 Множник В 10 Варіант Множене… Продовження таблиці 5.1 Варіант Множене А10 Множник В…  

Хід отримання результатів

5.4.2.При множенні чисел у прямому коді знакові та значущі розряди обробляються нарізно. Для визначення знака результату виконується додавання цифр,… 5.4.3. Множення цілих двійкових чисел у додатковому коді виконується за…  

Перевірка за допомогою демонстраційної програми правильності результатів, отриманих під час виконання індивідуального завдання у відповідності до п.5.4

5.5.1. Спочатку треба вручну для всіх комбінацій знаків у чисел отримати результати для свого індивідуального завдання, як це зроблено в прикладах у п.4.3.

5.5.2. Перевірити правильність отриманих у п.5.5.1 результатів за допомогою демонстраційної програми, текст якої розміщений нижче.

5.5.3. Демонстраційну програму треба запустити на виконання в одному з середовищ, яке підтримує програмування на мові Pascal.

5.5.4. Текст демонстраційної програми.

program umnozenie;

uses crt;

var

a,b:integer;

a_pr,b_pr:word;

a_dk,b_dk:word;

d:char;

function plusdk(a,b:word):word; {Сложение в дополнительном коде}

var

trans:word; {Бит переноса}

digit:word; {Текущий бит}

result:word; {Нужна для хранения промежуточного результата }

{при вычислении бита переноса}

c:word; {Сумма}

i:byte; {Счетчик}

begin

trans:=0;

for i:=0 to 15 do begin

digit:=(a and (1 shl i)) xor (b and (1 shl i)) xor (trans shl i);

if digit=0 then c:=c and (65535 xor (1 shl i))

else c:=c or (1 shl i);

result:=(a and (1 shl i))and(b and(1 shl i));

result:=result or ((b and(1 shl i))and(trans shl i));

result:=result or ((a and (1 shl i))and(trans shl i));

if result<>0 then trans:=1 else trans:=0;

end;

plusdk:=c; {Возвращение результата}

end;

function bdtos(a:word):string; {Преобразование битов числа в строку}

var

flag:boolean;

i:byte;

s:string;

begin

flag:=false;

s:='';

for i:=15 downto 0 do

begin

if ((1 shl i) and a)>0 then flag:=true;

if flag=true then s:=s+chr(ord(((1 shl i) and a)<>0)+48);

end;

if flag=false then s:='0';

bdtos:=s;

end;

function prtoi(a:word):integer; {Преобразование из прямого кода в integer}

begin

if a<32768 then prtoi:=a

else prtoi:=-(a and 32767);

end;

function itopr(a:integer):word; {Преобразование из integer в прямой код}

begin

if a>=0 then itopr:=a

else itopr:=abs(a) or (1 shl 15);

end;

function prdk(a:word):word; {Преобразование из прямого кода в дополнительный и наоборот}

begin

if a<32768 then prdk:=a

else prdk:=plusdk((not a) or (1 shl 15),1);

end;

function multdk(a,b:word):word;

var

c:word; {Результат}

i:byte; {Счетчик}

begin

c:=0;

for i:=0 to 14 do begin {Умножение на незнаковую часть В}

if (b and (1 shl i))<>0 then c:=plusdk(c,a);

a:=a shl 1;

end;

if (b and (1 shl 15))<>0 then {Умножение на знаковый бит В}

begin

a:=plusdk(not a,1); {Коррекция}

c:=plusdk(c,a);

end;

multdk:=c;

end;

begin

while true do

begin

clrscr;

textcolor(13);

writeln('Ограничения:');

writeln;

textcolor(15);

write('Введите A и B через пробел: ');

readln(a,b);

a_pr:=itopr(a);

b_pr:=itopr(b);

a_dk:=prdk(a_pr);

b_dk:=prdk(b_pr);

writeln(' [A]пк = ',bdtos(a_pr));

writeln(' [B]пк = ',bdtos(b_pr));

writeln(' [A]дк = ',bdtos(a_dk));

writeln(' [B]дк = ',bdtos(b_dk));

writeln('дк [A]дк*[B]дк = ',bdtos(multdk(a_dk,b_dk)));

writeln('пк [A]пк*[B]пк = ',bdtos(prdk(multdk(a_dk,b_dk))));

writeln('10 [A]*[B] = ',prtoi(prdk(multdk(a_dk,b_dk))));

gotoxy(30,25);

textcolor(15);

writeln('Нажмите: Enter - чтобы продолжить и ');

write(' 1 - чтобы выйти');

d:=readkey;

if (d='1') then halt;

end;

end.

 

Зміст звіту

5.6.2. Звіт може бути роздрукований. 5.6.3. Звіт виконують українською мовою. 5.6.4. У звіті мають бути вказані:

Контрольні запитання

1. Особливості множення цілих двійкових чисел із знаком в ПК і ДК.

2. Що означає термін “часткова сума”?

3. Якщо множене або множник являється від’ємним числом, що треба мати на увазі при виконанні операції множення?

4. Як враховується стан ознаки CF регістра ознак процесора при виконанні команд циклічного зсуву?

 

– Конец работы –

Используемые теги: Вміти, отримувати, Результати, завдяки, використанню, машинного, алгоритму, Множення, цілих, двійкових, чисел0.123

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Вміти отримувати результати завдяки використанню машинного алгоритму множення цілих двійкових чисел

Что будем делать с полученным материалом:

Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Еще рефераты, курсовые, дипломные работы на эту тему:

Алгоритм и требования к алгоритму свойства алгоритма
Object Inspector Options goEditing True... StringGrid FexedCols Rows n... Var I J integer Begin...

Конечность - однозначная определенность результатов выполнения каждого шага алгоритма за конечное время;
На сайте allrefs.net читайте: - конечность - однозначная определенность результатов выполнения каждого шага алгоритма за конечное время;...

Тема: Переведення чисел із заданою точністю. Зображення чисел з фіксованою і плаваючою крапкою
Тема Переведення чисел із заданою точністю Зображення чисел з фіксованою і плаваючою крапкою... ТЕОРЕТИЧНІ ПОЛОЖЕННЯ Представлення чисел в... ЗАВДАННЯ Частина І Переведення чисел з заданою точністю...

Переведення цілих чисел із 10-ї системи числення в 2-у і навпаки.
ДІленНя ДВІЙКОВИХ ЧИСЕЛ без вІДНОВЛЕННЯ І з вІДНОВЛЕННЯМ ЗАЛИШКУ... Мета роботи...

Понятие алгоритма, его свойства. Описание алгоритмов с помощью блок схем на языке Turbo Pascal
Каким же образом компьютер решает сложнейшие задачи обработки информации Для решения этих задач программист должен составить подробное описание… В разных ситуациях в роли исполнителя может выступать электронное или… Составление алгоритмов и вопросы их существования являются предметом серьзных математических исследований. Свойства…

Понятие и её свойства алгоритма. Способы записи алгоритмов.
Способы записи алгоритмов... Оформить записать алгоритмы можно несколькими способами... Словесный способ записи алгоритмов основан на использовании средств обычного языка но с жестко ограниченным...

МАШИННІ КОДИ. ДОДАВАННЯ ТА ВІДНІМАННЯ ДРОБОВИХ ДВІЙКОВИХ ЧИСЕЛ У ФОРМАТІ З ПЛАВАЮЧОЮ КОМОЮ
вміти використовувати зображення двійкових чисел у форматі з плаваючою комою...

АЛГОРИТМЫ ВЫПОЛНЕНИЯ ПРАКТИЧЕСКИХ НАВЫКОВ, НЕОБХОДИМЫХ ДЛЯ ОКАЗАНИЯ ПЕРВОЙ ВРАЧЕБНОЙ ПОМОЩИ ПРИ НЕОТЛОЖНЫХ АЛГОРИТМЫ ВЫПОЛНЕНИЯ ПРАКТИЧЕСКИХ НАВЫКОВ, СОСТОЯНИЯХ И ЗАБОЛЕВАНИЯХ
АЛГОРИТМЫ ВЫПОЛНЕНИЯ ПРАКТИЧЕСКИХ НАВЫКОВ НЕОБХОДИМЫХ ДЛЯ ОКАЗАНИЯ ПЕРВОЙ ВРАЧЕБНОЙ ПОМОЩИ ПРИ СОСТОЯНИЯХ И ЗАБОЛЕВАНИЯХ...

Константы - это данные, которые не изменяются в процессе выполнения алгоритма
Данные и операции алгоритмов... Данные это информация в виде символов и чисел которая подвергается... Входными называются данные значения которых вводятся в программу извне Выходными называют данные значения которых...

Алгоритмы подпрограмм
На сайте allrefs.net читайте: Алгоритмы подпрограмм.

0.026
Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • По категориям
  • По работам