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

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

Навчитись зображувати У прямому, зворотному та додатковому кодах цілі двійкові числа із знаком

Навчитись зображувати У прямому, зворотному та додатковому кодах цілі двійкові числа із знаком - раздел Образование, Лабораторна Робота 3 ...

Лабораторна робота 3

МАШИННІ КОДИ. ДОДАВАННЯ ТА ВІДНІМАННЯ ЦІЛИХ ДВІЙКОВИХ ЧИСЕЛ

 

Мета роботи

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

· навчитись зображувати У прямому, зворотному та додатковому кодах цілі двійкові числа із знаком;

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

 

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

3.2.1.Особливості зображення цілих додатних і від’ємних двійкових чисел в прямому, зворотному та додатковому кодах.

3.2.2.Правила додавання двійкових цифр.

3.2.3.Модифіковані зворотний і додатковий коди.

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

  Таблиця 3.1 – Індивідуальні завдання Варіант X … 3.3.2.Для свого варіанта вручну отримати коди десятковий, двійковий, прямий, зворотний та додатковий для +X, –X, +Y і…

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

  Таблиця 3.4 – Правила додавання двійкових цифр Значення i-х…  

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

3.5.1. Спочатку треба вручну отримати результати для свого індивідуального завдання і заповнити всі позиції в таблицях 2 і 3, як указано в п.3.3.2 для варіанта 30 із таблиці 3.1.

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

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

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

 

program summirovan;

uses crt;

var

a,b:integer; {Введенные числа}

{Те же числа, но в кодах}

a_pr,b_pr:word;

a_ok,b_ok: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 7 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 (255 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 plusok(a,b:word):word; {Сложение в обратном коде}

var

trans,digit,result:word;

c:word;

i:byte;

begin

trans:=0;

for i:=0 to 7 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 (255 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;

if trans=1 then c:=plusok(c,1); {Перенос из знакового разряда }

{прибавляется к младшему разряду}

plusok:=c;

end;

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

var

i:byte;

s:string;

begin

s:='';

for i:=7 downto 0 do

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

bdtos:=s;

end;

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

begin

if a<127 then prtoi:=a

else prtoi:=-(a and 127);

end;

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

begin

if a>=0 then itopr:=a

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

end;

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

{и наоборот}

begin

if a<127 then prok:=a

else prok:=(not a) or (1 shl 7);

end;

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

{и наоборот}

begin

if a<127 then prdk:=a

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

end;

begin

while true do

begin

clrscr;

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

readln(a,b);

a_pr:=itopr(a);

b_pr:=itopr(b);

a_ok:=prok(a_pr);

b_ok:=prok(b_pr);

a_dk:=prdk(a_pr);

b_dk:=prdk(b_pr);

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

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

writeln(' [A]ок = ',bdtos(a_ok));

writeln(' [B]ок = ',bdtos(b_ok));

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

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

writeln('Результат в обратном коде:');

writeln(' [A]oк+[B]oк = ',bdtos(plusok(a_ok,b_ok)));

writeln('Результат в дополнительном коде:');

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

write('Результат в прямом коде:');

writeln(bdtos(prdk(plusdk(a_dk,b_dk))));

writeln('Результат в 10-м коде:');

writeln(' [A]дес+[B]дес = ',prtoi(prdk(plusdk(a_dk,b_dk))));

gotoxy(30,25);

textcolor(15);

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

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

d:=readkey;

if (d='1') then halt;

end;

end.

 

Зміст звіту

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

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

2. Чи відрізняються прямий, зворотний і додатковий коди у додатного та у від’ємного числа? 3. Враховується чи ні одиниця переносу із старшого знакового розряду при… 4. У чому особливість модифікованих кодів?

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

Используемые теги: Навчитись, зображувати, прямому, зворотному, додатковому, кодах, цілі, Двійкові, числа, знаком0.132

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

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

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

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

Коды без памяти. Коды Хаффмена. Коды с памятью
Если S = { w1, w2, , wk } - префиксное множество, то можно определить некоторый вектор v(S) = ( L1, L2, , Lk ), состоящий из чисел, являющихся… Для него выполняется неравенство . (1) Это неравенство называется… Для него справедливо следующее утверждение: если S - какое-либо префиксное множество, то v(S) - вектор Крафта.

Для представления отрицательных чисел кроме ПК существует еще 3 формы: обратный код (ОК), дополнительный код (ДК) и смещенный код (СК
Алгебраические формы представления целых знаковых двоичных чисел в компьютере...

Числа. Метод математической индукции. Целые числа. Рациональные числа. Многочлены. Операции над многочленами. Корень многочлена
Числа Натуральные числа натуральное число Если n... Метод математической индукции... Тот факт что множество натуральных чисел может быть упорядочено по возрастанию часто используется при доказательстве...

Реферат на тему: Классификация помехоустойчивых кодов. Особенности практического кодирования КРАТКАЯ КЛАССИФИКАЦИЯ ПОМЕХОУСТОЙЧИВЫХ КОДОВ
кафедра РЭС... реферат на тему...

Товарный знак и знак обслуживания
Прежде всего эти изменения связаны с принятием Закона РФ «О товарных знаках, знаках обслуживания и наименованиях мест происхождения товаров»,… Поэтому свой анализ я хочу провести, основываясь, прежде всего на нем, при… В законе нет перечня этих необходимых условий, однако, их легко можно вывести.

Проект цеха по выпуску прямых азокрасителей на примере "Прямой красный 2С"
Цветовая гамма прямых красителей очень широка и охватывает цвета от желтого до черного они хорошо комбинируются друг с другом. Данные красители обладают хорошей ровняющей способностью. Окраски большинства… Это позволяет использовать их для создания фонов на тканях при вытравной печати.

Коды Фибоначи. Коды Грея
Число &#61654;2 =1,44… , которое представляет отношение диагонали к стороне квадрата и ряд других чисел.Особое иррациональное число &#61537;… Золотая пропорция обладает рядом уникальных свойств. Пропорция 1,61… Например, остатки от деления чисел Фибоначчи на 2 образуют последовательность: 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, и…

Тема: Переведення чисел. Доповнювальний, прямий і зворотній код. Операції над цілими числами у двійковій системі числення
Тема Переведення чисел Доповнювальний прямий і зворотній код Операції над цілими числами у двійковій системі... ТЕОРЕТИЧНІ ПОЛОЖЕННЯ Операції над цілими... Зауваження В ЕОМ операції віднімання множення ділення здійснюються за допомогою операції додавання Наприклад при...

Вычислительное устройство, выполняющее операции изменения знака числа и деление чисел
Также им соответствует порядок мантисса. Делимое A, в начале работы, заносится в регистры: мантисса в регистр A m с помощью определенного сигнала Y… Это достигается путем подачи обратного значения порядка делителя из регистра … Число записывается в регистр B m (Y 5 ). Потом оно подается на сумматор SM в обратном коде (Y 9 ) и записывается в…

Языковой код. Переключение и смешение кодов
Объект и предмет социолингвистики... Социолингвистика и др смежные дисциплины Социолингвистика и... Язык как универсальное средство общения...

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