Logo GenDocs.ru

Поиск по сайту:  


Загрузка...

Изучение способов представления данных в ЭВМ - Аппаратные свойста вычислительной техники (АСВТ) - файл 1.docx


Изучение способов представления данных в ЭВМ - Аппаратные свойста вычислительной техники (АСВТ)
скачать (50.5 kb.)

Доступные файлы (1):

1.docx51kb.18.11.2011 01:11скачать

содержание
Загрузка...

1.docx

Реклама MarketGid:
Загрузка...
Государственное образовательное учреждение

Уфимский государственный Авиационный технический университет

кафедра ВТиЗИ

Лабораторная работа №1

Изучение способов представления данных в ЭВМ

Выполнили студенты ЗИ-139

Зиннуров Рамиль

Гавриш Михаил

Мамлеев Вадим

Проверил Строкина Ю. Г.

Уфа 2011



Лабораторная работа №1

Цель работы: изучение способов представления числовых, текстовых

данных, основных арифметических и логических операций над ними.

Задачи: знакомство с Форт-системой (ФС), приобретение

навыков интерактивного взаимодействия с инструментальной средой

программирования.

  1. 3 4 + 5 * ok.

. 35 ok

  1. | 5×A – B | + C mod D При А= - 5; В= - 8; С= 4; D= 3; Е= 1; Н= 15.

-5 5 * -8 - abs 4 3 mod + ok.

.s [1] 18 ok.

  1. arctan2 (sin x + cos x) + lg (x)

f# 0.4 fsin f# 0.4 fcos f+ fatan f# 0.4 fsin f# 0.4 fcos f+ fatan f* f# 0.4 flog f+

f.s

  1. 249

249 ok.

binary ok.

.s [1] 11111001 ok.

octal ok.

.s [1] 371 ok.

hex ok.

.s [1] F9h ok.

50 base ! ok.

.s [1] 39 ok.

7 base ! ok.

.s [1] 504 ok.

  1. 1011 10 lshift . 101011 1035264 ok.

. 101011 ok

  1. fvariable delta ok

f# 2.3e delta f! ok

delta1 f@ ok

12345 constant beta ok

54321 constant gamma ok

variable omega ok

100987 omega ! ok



omega ? 100987 ok

beta ok.

.s [1] 12345 ok.





  1. create mem 10 allot ok

mem 5 okpect prive

mem 5 ok5 expect world

mem 10 type priveworld ok

Контрольные вопросы:

  1. ^ Какие существуют форматы чисел?

Существуют следующие форматы представления чисел:

А)Числа с фиксированной точкой. Форма записи числа с фиксированной точкой использовалась в основном на ранних этапах развития вычислительной техники. Запись числа с фиксированной точкой обычно имеет знаковый и цифровой разряды. Фиксированная точка означает, что на этапе конструирования ЭВМ было определено, сколько и какие разряды машинного слова отведены под изображение целой и дробной частей числа. Запятая в разрядной сетке может быть зафиксирована, в принципе, после любого разряда.

^ Б) Числа с плавающей точкой. Для представления чисел с плавающей точкой (ЧПТ) используется полулогарифмическая форма записи числа:

N = ± mq ± p

где q- основание системы счисления, p - порядок числа, m - мантисса числа N.

Положение точки определяется значением порядка p. С изменением порядка точка перемещается (плавает) влево или вправо.

Пример.

12510=12.5*101=1.25*102=0.125*103=0.0125*104=...

Для установления однозначности при записи чисел принята нормализованная форма записи числа. Мантисса нормализованного числа может изменяться в диапазоне: 1/q ≤ | m | < 1. Таким образом в нормализованных числах цифра после точки должна быть значащей.



Для представления чисел в машинном слове выделяют группы разрядов для изображения мантиссы, порядка, знака числа и знака порядка:

а) представление чисел в формате полуслова

б) представление чисел в формате слова


  1. ^ Как задать число с клавиатуры?

Для ввода целых чисел одинарной разрядности (от -2,147,483,648 до 2,147,483,647) в стек достаточно ввести с клавиатуры их числовые значения (после ввода каждого значения необходимо поставить пробел(ы) либо нажать Enter), после ввода каждого числа с фиксированной точкой двойной разрядности (от - 9,223,372,036,854,775,808 до 9,223,372,036,854,775,807) необходимо поставить десятичную точку (если она не была использована в записи числа, например: 123.4567890 или 1234567890.), а перед вводом каждого числа с плавающей точкой необходимо вставить f#.

  1. Как выполнить арифметические операции над целыми числами и числами с фиксированной точкой?

Особенностью языка Форт является использование польской инверсной системы записи математических выражений. Так вначале записываются операнды, с которыми будут производиться операции, а затем уже указываются сами операции (после выполнения операции, на вершину стека смещается результат). Например:

3 4 + 5 *



Тут вначале вычисляется 3+4=7, а затем результат умножается на 5. Так можно представить последовательные изменения, происходящие в арифметическом стеке:


  1. ^ Как выполнить математические операции над числами с

плавающей точкой?

Для того чтобы хранить числа с плавающей запятой существует специальный стек. Для просмотра чисел в нем используются слова «f.» и «f.s», действие которых аналогично «.» и «.s». Для того, чтобы просмотреть число в нормальном виде (N 10m ) существует слово «e.». Для того, чтобы ввести число с плавающей

запятой, необходимо либо употребить перед числом слово «f#», либо записать его в формате «XeY», где X - мантисса числа;Y – порядок (степень числа 10); e - фиксированный символ. Например: «f# 1», «f# 1.0», «f# 1e0», «1e0» введут число 1 с плавающей запятой, а выражение «1.0» введет целое число двойной разрядности. Для чисел с плавающей запятой определены следующие

действия:

f# 10.3 f# 3e+01 f+ оставляет на вершину стека сумму чисел

10.3 и 30;

f# 10.31 f# -3 f- оставляет на вершину стека разность чисел

10.31 и –3;

f# 1.65.e-2 f# 3.9 f* оставляет на вершину стека произведение

чисел 0.0165 и 3.9;

f# 3e+00 f# -7.98 f/ оставляет на вершину стека частное от

деления 3 на -7.98;

f# -5.876e+02 fabs заменяет число -587.6 на его абсолютное

значение;

f# 3.8765 fnegate меняет знак числа 3.8765;

f# -3.2 f# 5 fmax оставляет на вершине стека большее число

из двух чисел -3.2 и 5.

  1. Какие виды стеков существуют и операции над ними?

Для хранения чисел одинарной и двойной разрядности используется общий арифметический стек, а для хранения чисел с плавающей точкой - отдельный стек, существует ещё и стек возврата, используемый для передачи управления в программе.

  1. ^ Как обратиться к памяти?

Память ФС можно просмотреть следующей командой Dump. Для её исполнения сначала на стек располагается адрес, с которого будет проводиться просмотр, затем - количество просматриваемых значений. Приведём пример: покажем, как ввести переменную, внести в неё число и сделать дамп памяти, к ней относящейся.

Variable e ok



5 e ! ok...

e 10 dump

244668 05 00 00 00 00 00 00 00 00 00 .......... ok

  1. Перечислите основные операции с основанием системы счисления?

n base ! задаёт основание системы счисления равным n;

base @ оставляет на вершине арифметического стека

значение основания системы счисления;

binary задаёт основание системы счисления равным 2;

octal задаёт основание системы счисления равным 8;

decimal задаёт основание системы счисления равным 10;

hex задаёт основание системы счисления равным 16.

  1. ^ Расскажите об основных операциях со строками.

Слово <адрес> <размер> EXPECT снимает со стека адрес и размер области памяти и записывает туда вводимые с клавиатуры символы. Слово <адрес> <размер> TYPE отображает на экране строку символов записанных в области памяти. Пример:

create mem 10 allot зарезервировать область памяти;

mem 5 expect abcde ввести первую строку символов;

mem 5 + 5 expect fghij ввести вторую строку символов;

mem 10 type abcdefghij отобразить результат сложения двух

строк.

  1. ^ Как задать константы и переменные, основные операции над ними.

Для первоначального задания константы используется выражение:

1000 constant alfa

где 1000 - значение константы, alfa - имя константы. Слово alfa заносит на вершину стека значение константы с именем alfa. Целочисленные переменные одинарной разрядности в Форте задаются в виде:

variable betta

После чего, ввод имени переменной помещает на вершину сте-

ка область памяти, выделенной для ее хранения.

Выражение 123 betta ! присваивает переменной betta числен-

ное значение 123, выражение betta ? позволяет посмотреть ее содер-

жание через консоль, а выражение betta @ выводит значение перемен-

ной betta на вершину арифметического стека. Каждая из переменных задается отдельным словом «variable».

  1. ^ Перечислите основные математические операции с двоичными числами.

Основные математические операции с двоичными числами: сложение, вычитание, умножение, деление, сдвиг.

Для сложения используем математический символ "+", при этом сначала указываем числа в двоичном представлении, затем ставим "+". Аналогично для вычитания, умножения и деления "-", "*" и "/" соответственно. Для сдвигов используются ключевые слова rshift и lshift для свдига вправо и влево соответственно. Синтаксис команды: <число> <сдвиг> <rshift_или_lshift>.




Задать несколько переменных и констант с фиксированной

и плавающей точкой, получить их адреса, задать им новые значения и

вывести их на монитор. Присвоить переменной некоторое значение,

найти его на карте памяти, после чего изменить значение и проверить

изменения памяти. В отчете отразить карту памяти, на которой

иллюстрируются изменение значения переменной.


Скачать файл (50.5 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации
Рейтинг@Mail.ru