Целые числа - способы представления и хранения в ЭВМ, основные операции обращения с числами

Государственный комитет России

по высшему образованию.

Рязанская Государственная Радиотехническая Академия



Кафедра ЭВМ.













Контрольная работа



«Целые числа: способы представления и хранения в ЭВМ, основные операции обращения с числами»







Выполнил

студент гр.343

Кондрахин А.В.



Проверил

Иопа Н.И.

Гринченко Н.Н.







Рязань, 2006 г.


Цель работы:

1. Изучение типов численных данных с фиксированной точкой (ФТ) и основных операций обращения с ними.

2. Наработка практических навыков обращения с целыми числами на компьютере (запись, считывание, хранение).


1.Теоретическая часть

численные данные компьютер двоичный

Целые двоичные числа: классификация, особенности, основные понятия.



В ЭВМ различают два основных типа численных данных:

- целые двоичные числа (Integer) - числа с ФТ;

- вещественные двоичные числа (Real) - числа с плавающей точкой (ПТ).  

В данной работе рассматривается 1-й тип чисел, которые,  в свою очередь, делят на знаковые и беззнаковые.

Целое число X, представленное в ФФТ (точка фиксируется после младшего разряда), например Х=1001112, может иметь различную интерпретацию, две из которых рассматриваются ниже.

Целое без знака (все шесть двоичных разрядов числа являются значащими, т.е. имеющими соответствующий вес)

Целое со знаком (старший бит не имеет веса и отображает знак). Единица в знаковом разряде - признак отрицательного числа .Внутри ЭВМ информация представляется в виде чисел, записанных в той или иной СС, кратной степени двойки (двоичной, 16-ричной и др.). При этом, чем больше основание СС q, тем короче запись числа, т.е. тем меньше разрядов требуется для его записи и хранения. Таким образом, ввод, вывод и обработка чисел на ЭВМ связаны с преобразованием их из одной СС в другую(10«-»2,10«-»16,16«-»2 и др.)

Перевод десятичных чисел в СС с основанием q (прямой) и обратно.

Метод прямого перевода. Исходное число и последовательно получающиеся частные делятся на q до получения частного меньше q. Получающиеся при делении остатки являются разрядами числа в новой q-ичной СС. Последний остаток, за который принимается последнее частное, является старшим разрядом числа, т.е. для записи числа Xq остатки записываются в порядке, обратном их получению.

Пример. Десятичное число Х=39 перевести в двоичную и 16-ричную СС, иначе найти его двоичное и 16-ричное представление десятичного числа, т.е. Х=39=(?)2 = (?)16. Процесс перевода поясняется таблицами  соответственно.



Метод перевода через 16-ричную СС. Исходное число с помощью метода прямого  перевода перевести исходное число в 16-ричную СС. Затем каждой 16-ричной цифре ставится в соответствие двоичная цифра, которые соединяются в соответствии с номером разряда соответствующего 16-ричного числа.



Исх. 

число и 

частные 

 

q

частноее

Остаток

















39 

19 

9 

4 

2 

 

2

2

2

2

2

19 9 

4 

2 

1 

1

1 

1 

1 

0 

0 

1 

Исх. 

число и 

частные 

 

q

Частноее

Остаток

















39 

16

2

7

2



















X=3910=1001112=2716

Для обратного перехода от двоичного числа к 16-ричному заданная двоичная последовательность разделяется на тетрады со стороны мл. разрядов (недостающие дополняются «0») и каждой из них ставится в соответствие 16-ричная цифра.

X = 0101 1001 1101 =  5 9 D h

X = 5*162+9*161+13*160 = 1437


Представление в памяти



Для представления целых чисел в памяти ПК используют три машинных формата: byte, word, long. Форматом числа называют представление его в конкретной разрядной сетке ЭВМ, под которой понимают набор двоичных разрядов для представления машинного слова в конкретной ЭВМ.



Форматы беззнаковых чисел

BYTE (Байт)

7                           0

WORD (Слово)





15		      8   7		     0

LONG (Двойное слово)





31                      24 23                      16 15                       8  7                 0



Форматы знаковых чисел

BYTE (Байт)



7     6                     0

WORD (Слово)





15  14	                 8  7		     0


LONG (Двойное слово)



31  30                24 23                      16 15                       8 7                   0



Sing(Sg) = 0 , если Х>0;

Sing(Sg) = 1 , если Х<0;



Машинные коды

ЭВМ работает не с числами, а с их кодами, т.е. с машинными кодами (МК). Для хранения отрицательных чисел и выполнения арифметических операций широко используется дополнительный код (DK). Правило образования DK для двоичных чисел имеет вид:



XDK = X , если Х>0

XDK = |X|+1 , если X<0					(1)



Длина числа в DK может быть увеличена до любого количества разрядов путем копирования (тиражирования) его знакового разряда слева. При этом заданное число X оказывается «хвостом» двоичной последовательности требуемой длины в 8,16,32, ... бит.

Диапазон представимых чисел .

Диапазон целых чисел определяется неравенством



	    -X   <Х<   Х	

	max	max



и является одним из важнейших понятий при их рассмотрении. Ниже приведены диапазоны чисел для принятых форматов: байт и слово.

Байт

	а)	без знака: X=00h+ FFh= 0..255

	б)	со знаком: Х=80h+ 7Fh= -128.. +127

I

Слово

	а)	без знака: X=0000h+ FFFFh=0..65535

	б)	со знаком: X=8000h+ 7FFFh= - 32768..+32767

	

Следовательно,  представление беззнакового  числа Х>65535  либо Х>+32767 приведет к переполнению 1 6-разрядной сетки.



Переход от кода к числу, т.е. [Х]DK



Переход от DK к числу выполняется по тому же правилу (1), что и от числа к коду. Для отрицательных чисел Х= - (|X|+1) .

Пример:

XDK = A3h = 1.01000112 

X = -010111012 = -5Dh = -93



Хранение численных данных

Числа в компьютере хранятся либо в регистрах процессора (CPU), например в регистрах общего назначения AX,BX,CX,DX, имеющих длину 16 бит в МП К1810 (рис 1.2), либо в ОП. Регистр является устройством временного хранения данных и используется при выполнении арифметических (сложение, вычитание), логических (дизъюнкция, конъюнкция и др.) операций и операций пересылки (АХ<- [М], АХ<-(ВХ) и др.).

Длина регистра п является конструктивной единицей и определяется типом компьютера и его процессора. В общем случае РОНы могут использоваться для вычисления и модификации адресов и др. В n-разрядном регистре биты нумеруются с 0 по n-1. Бит 0 является самым младшим значащим битом. В РОНах, используемых для хранения данных, старший (n-1) бит отводится под знак числа. Разрядность регистра (n) определяет длину разрядной сетки машины и соответственно длину ее машинного (двоичного) слова - упорядоченную последовательность бит, которыми ЭВМ оперирует одновременно.



AH                                                  AL

                                                   

15   ст. байт        8 7       мл. байт    0

                           n=16			

рис. 1 Изображение регистра AX





Для длительного хранения больших объемов данных используют «память» ЭВМ, которую разделяют на основную (ОП), внешнюю (ВП) и др. На программном уровне ОП представляют как линейную последовательность байтов . Адрес указывает конкретное место байта в среде хранения. В МП 80286, например, пространство линейных адресов простирается от 0 до 1МБ (220байт). Из рис. 1.6 видно, что для записи «слова» необходимо занять две последовательно расположенные ячейки памяти, т.е. два байта. Адресом слова в этом случае является адрес младшего байта. Принцип «младшее по младшему адресу» сохраняется и для представления других единиц данных: двойных слов, многобайтных команд и т.д


 Адресное пространство сегментируется, т.е. 

разделяется на сегменты по 64КБ, и ЦП         байт = 1С           1С  0000

вместо 5-разрядного физического адреса 

формирует логический, который хранится       байт = 2A           2A   0001

в двух регистрах. Один из них, например 

DS, содержит адрес сегмента ("базу"),        байт = 6F            6F    0002

 а второй -смещение внутри сегмента 

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

 байт смещен относительно базы.                                                         FFFF

рис. 2 Адресное пространство памяти


2.Практическая часть



1. Регистрация:

- выбрать в главном меню пункт «Информатика»;

- войти в каталог GR343;

- чтобы загрузить рабочую среду в командной строке D:\INFORM\GR343> набрать 1аb9_10 и нажать <Enter>, 

На экране монитора появится окно процессора CPU.

2. По заданному адресу считать из памяти (в режиме отображения byte) числа, представленные в форматах байта, слова и двойного слова, интерпретируя их как:

	а)число знаковое;

	б)число беззнаковое.

	

	Вариант №8 : Адрес DS:16

	

Установить подокно с отображением оперативной памяти (ОП) на область, начинающуюся с адреса DS:16 :

-Ctrl+G;

-В открывшемся диалоговом окне набрать адрес ds:16h и нажать <Enter>;

-Установить режим отображения byte, после чего нажать <Enter>;

* ALT+F10;

* Переместите курсор на пункт Display as и нажмите <Enter>;

	* Выберите требуемый режим отображения (byte) и нажмите <Enter>;

-Перенести представление числа в памяти, расположенного по адресу DS:16 , в Таблицу 1.

3. Заданное в соответствии с № варианта число ±Х представить в форматах байта, слова и двойного слова и разместить в памяти, начиная с адреса ds:0030.(рис. 3)



Исх. 

число и 

частные 

 

q

Частноее

Остаток

















63

 

 

2

2

2

2

2

31

15

7

3

1

0

1

1

1

1

1

1

	Вариант №8 : +63 и -63



ХА = 6310 = 001111112 =3F16

ХВ = -6310 = 110000012 =C116



	Перейдите в подокно памяти;

-Ctrl+G;

-В открывшемся диалоговом окне набрать DS:0030 и нажать <Enter>;

-Установить режим отображения byte;

*ALT+F10;

* Переместите курсор на пункт Display as и нажмите <Enter>;

	* Выберите требуемый режим отображения (byte) и нажмите <Enter>;

	-	Подвести курсор к конкретному байту памяти и начать ввод значения: 3F

	В ответ появится диалоговое окно с приглашением «Enter new data bytes» («Введите новые байты данных»). Продолжите ввод значения, а для завершения ввода нажмите   <Enter>.

-Подвести курсор к следующему байту памяти. 

-Ввести значение С1;

-Установить режим отображения word;

*ALT+F10;

* Переместите курсор на пункт Display as и нажмите <Enter>;

* Выберите требуемый режим отображения (word) и нажмите <Enter>;	

-Подвести курсор к следующему байту памяти.

-Ввести значение 003F; 

Подвести курсор к следующему байту памяти.

-Ввести значение FFC1;

-Установить режим отображения long

*ALT+F10;

* Переместите курсор на пункт Display as и нажмите <Enter>;

	* Выберите требуемый режим отображения (long) и нажмите <Enter>;

-Подвести курсор к следующему байту памяти.

-Ввести значение 0000003F;

-Подвести курсор к следующему байту памяти.

-Ввести значение FFFFFFC1;

-Перенести результаты в Таблицу 2





3F

  

00

cлово

00



3F

дв. Cлово

00



00



00



3F



C1



00

слово

FF



C1

дв. слово

FF



FF



FF



C1

    Ds:0030h                   Ds:0038h















рис. 3 Участок памяти



Таблица 1. Переход от представления числа в памяти к его десятичному представлению

Адрес

Кол-во байт для представления числа

Представление числа в памяти

16-ричное представление числа

Двоичное представление числа

Десятичное представление числа











Без знака

Со знаком












































Таблица 2. Переход от числа к его представлению  в памяти

Число

Кол-во байт для представления числа

16-ричное представление числа

Адрес

Представление числа в памяти

63

1

3F

Ds:0030h

3F

63

2

003F

Ds:0032h

3F00

63

4

0000003F

Ds:0034h

3F000000

-63

1

C1

Ds:0038h

C1

-63

2

FFC1

Ds:003Ah

C1FF

-63

4

FFFFFFC1

Ds:003Eh

C1FFFFFF




Список использованной литературы:



	1. Информатика, ч.I: Методические указания к лабораторным работам / Сост. Н. И. Иопа. – Рязань: РГРТА 2002.

	2. Информатика. Базовый курс / С. В. Симонович и др. СПб.: Питер, 2001, стр.114-120.

	3. Шафрин Ю. А. Информационные технологии. М.: Лаборатория Базовых знаний, 1998, стр. 164-179.