Арифметические основы вычислительных машин

Автор работы: Пользователь скрыл имя, 04 Сентября 2014 в 13:43, реферат

Описание работы

Все компьютеры используют для хранения информации двоичную систему. Это значит, что каждый элемент хранимой информации может иметь только два состояния. Эти состояния обозначаются как «включен» и «выключен», «истина» и «ложь», или «1» и «0». Как правило, компьютер использует эти значения в виде уровней напряжения.
Из-за двоичного представления данных компьютеры используют в своих вычислениях арифметику с двоичным основанием. Используя простейшие числа 0 и 1, можно выполнять очень сложные вычисления.

Файлы: 1 файл

Архитектура компьютера и принципы его работы.doc

— 1.02 Мб (Скачать файл)

 
Арифметические основы вычислительных машин

Системы счисления

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

Все компьютеры используют для хранения информации двоичную систему. Это значит, что каждый элемент хранимой информации может иметь только два состояния. Эти состояния обозначаются как «включен» и «выключен», «истина» и «ложь», или «1» и «0». Как правило, компьютер использует эти значения в виде уровней напряжения.

Из-за двоичного представления данных компьютеры используют в своих вычислениях арифметику с двоичным основанием. Используя простейшие числа 0 и 1, можно выполнять очень сложные вычисления.

Арифметика с основанием 2 пользуется только двумя цифрами: 0 и 1.

Для начала определим общие принципы систем счисления на примере привычной нам десятичной арифметики. Мы обычно применяем систему исчисления по основанию 10. В десятичной арифметике употребляется десять различных цифр - от 0 до 9. (Двоичную арифметику можно представить себе как систему для людей, имеющих только два пальца.) Ограничение лишь десятью цифрами в десятичной арифметике не мешает нам представлять более крупные числа. Мы пользуемся многозначными числами, в каждой позиции которых стоят разные степени 10. Самая правая цифра любого числа обозначает число единиц, соседняя слева - количество десятков, следующая - число сотен и т.д. Прогрессия справа налево выстраивается такая:

100, 101, 102 и т.д.

Число 2368 в действительности представляет 2 тысячи, 3 сотни, 6 десятков и 8 единиц. Покажем, говоря математическим языком, разложение числа 2368.

2368 =  2*103 + 3*102 + 6*101 + 8*100

  =  2000 + 300 + 60 + 8

Таким образом, мы видим общее правило определения веса разряда многоразрядного числа:

Если пронумеровать разряды целого числа  справа налево, начиная от 0 для разряда единиц, то вес любого разряда получается возведением основания системы счисления в  степень,  значение  которой равно  номеру  разряда.

Так, вес самого младшего разряда целых чисел равен 1,  поскольку номер разряда равен 0 (любое число, возведенное в нулевую степень, дает в результате  единицу). Вес следующего слева разряда равен 10 в степени 1, т.е.  равен десяти, и т.д.

Арифметика с основанием 2 или двоичная система аналогична десятичной, за исключением того, что разряды числа здесь соответствуют степеням 2 а не 10. Числа больше 1 представляются многозначными числами, так же как в десятичной арифметике многозначное представление получают числа больше 9. Каждая цифра (разряд) в двоичной системе называется бит (от Binary digit). Двоичным числом состоящим из n бит можно изобразить число величиной 2n-1.

Кроме бита введем понятие байта – байт (англ. byte) — единица измерения количества информации, байт равен восьми битам (может принимать 256 (28) различных значений).

Сложение в двоичной системе выглядит так:

0 + 0 = 0

1 + 0 = 1

1 + 1 = 10

В цифровой электронике одному двоичному разряду в двоичной системе счисления соответствует один двоичный логический элемент с двумя состояниями (открыт, закрыт).

Чтобы было сразу понятно, что число записано в двоичном представлении, мы будем пользоваться суффиксом «b» (т.е. буква b будет записана после всех цифр). Этим они будут отличаться от десятичных, не имеющих суффикса. Например, 2368 - это десятичное число, а 1011b  - двоичное.

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

Двоичная арифметика хороша для компьютера, поскольку он имеет дело только с единицами и нулями. Но человеческое восприятие требует более компактного представления. Мы будем пользоваться шестнадцатеричным представлением данных для собственного удобства.

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

Шестнадцатеричное представление чисел – это система исчисления по основанию 16. Каждая цифра в числе может иметь значение от 0 до 15. Каждый разряд в числе является степенью 16. Шестнадцатеричное представление – удобный метод записи двоичной информации. Каждая шестнадцатеричная цифра соответствует четырем битам. Для преобразования двоичного числа в шестнадцатеричное представление разбейте его на группы по 4 бита и прочитайте каждую группу как шестнадцатеричную цифру. Это дает уплотнение записи один к четырем – очень удобно. Такая группа из четырех разрядов называется тетрадой. Чтобы отличать число в шестнадцатеричном представлении будем дописывать суффикс «h».

Небольшая трудность здесь связанна с тем, что у нас имеются цифры только от 0 до 9. Числа от 10 до 15 мы будем представлять первыми шестью буквами латинского алфавита: от A до F.

 

Таблица 1. Системы счисления

Десятичная (Dec) 

Двоичная (Bin)

Шестнадцатеричная (Hex)

0

0

0

1

1

1

2

01

2

3

11

3

4

100

4

5

101

5

6

110

6

7

111

7

8

1000

8

9

1001

9

10

1010

A

11

1011

B

12

1100

C

13

1101

D

14

1110

E

15

1111

F

16

10000

10


 

Перевод целых чисел из одной системы счисления в другую

Поскольку в практической деятельности люди привыкли  оперировать десятичной системой счисления,  а в ЭВМ числа представляются в двоичной,  необходимо научиться преобразовывать числа  из одной системы счисления в другую.

Перевод в десятичную систему из двоичной или шестнадцатеричной

Перевод в десятичную систему числа x, записанного в q-ичной cистеме счисления (q = 2 или 16) сводится к вычислению значения многочлена

x = an*qn + an-1*qn-1   +   ...   +  a0*q0

средствами десятичной арифметики. Для выполнения преобразования полезно иметь перед глазами таблицу со степенями двойки (разрядов двоичной системы счисления).

n

0

1

2

3

4

5

6

7

8

9

10

2n

1

2

4

8

16

32

64

128

256

512

1024


Также приведем четыре младших разряда шестнадцатеричной системы

n

0

1

2

3

16n

1

16

256

4096


А теперь приведем примеры преобразования:

Примеры преобразования из двоичной системы в десятичную.

5 4 3 2 1 0


110011b=1*25 + 1*24 + 0*23 + 0*22 + 1*21 + 1*20=51

9 8 7 6 5 4 3 2 1 0

1111101000b = 1*29 + 1*28 +·1*27 + ·1*26 + 1*25 + 0*24 + 1*23 +0*22 + 0*21 +1*20 = 1000

Пример преобразования из шестнадцатеричной системы в десятичную.

3 2 1 0

2C6Eh= 2*163 + C*162 + 6*162·+ E*162

=2·4096+12·256+6·16+14·1=11374

Перевод целых чисел из десятичной системы в двоичную или шестнадцатеричную

Для перевода целого десятичного числа  N  в систему счисления с основанием  q  необходимо  N  разделить с остатком (нацело) на q, записанное в той же десятичной системе. Затем неполное частное, полученное от такого деления, нужно снова разделить с остатком на q, и т.д., пока последнее полученное неполное частное не станет равным нулю. Представлением числа N  в новой системе счисления будет последовательность остатков деления, изображенных одной q-ичной цифрой и записанных в порядке, обратном порядку их получения.

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

75:2 = 37, остаток 1  это разряд весом 1

37:2 = 18, остаток 1  это разряд весом 2

18:2 =  9, остаток 0  это разряд весом 4

  9:2 =  4, остаток 1  это разряд весом 8

  4:2 =  2, остаток 0  это разряд весом 16

  2:2 =  1, остаток 0  это разряд весом 32

  1:2 =  0, остаток 1  это разряд весом 64 (в нашем случае старший разряд)

Деление заканчивается  в тот момент, когда очередной результат деления даст ноль. Остатки, от деления, выписанные в соответствии с весами разрядов, дадут искомое число. Получаем:


64

32

16

8

4

2

1

 

1

0

0

1

0

1

1

b


 

Теперь сделаем преобразование этого же числа в шестнадцатеричное представление:

75:16 = 4, остаток 11  это разряд весом 1 (11 это Bh)

  4:16 = 0, остаток 4  это разряд весом 16

Остатки представленные в шестнадцатеричном виде с учетом веса разряда и дают искомое шестнадцатеричное число в шестнадцатеричном представлении – 4Bh.

Как видно, такое преобразование намного более компактно.

Теперь покажем как осуществить преобразование шестнадцатеричных чисел в двоичную систему и обратно.

Перевод чисел из двоичной системы в  шестнадцатеричную и из шестнадцатеричной системы в двоичную

Чтобы перевести число из двоичной системы в шестнадцатеричную, его нужно разбить на тетрады и каждую такую группу заменить соответствующей шестнадцатеричной цифрой. Покажем это преобразование на примере числа 1000. (Как мы уже показали в двоичном виде это число запишется как 11 1110 1000b, для наглядности тетрады разделены пробелами). Разбиение начинаем с младших разрядов (справа)

0011

1110

1000

b

3

E

8

h


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

3

E

8

h

0011

1110

1000

b


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

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

Для представления как положительных так и отрицательных чисел используется так называемый дополнительный код – наиболее распространенный способ представления отрицательных целых чисел в компьютерах. Основным достоинством дополнительного кода является то, что в  нем  единообразно  реализуются операции сложения чисел разных знаков (алгебраическое сложение),  а  операцию  вычитания  можно свести  к  операции сложения заменой знака вычитаемого на обратный. Дополнительный код отрицательного числа получается инвертированием двоичного числа и прибавлением к нему единицы (поэтому он и называется дополнительным).

Чтобы увидеть, как получается отрицательное число в дополнительном коде, вычтем из нуля единицу. Вычитание будем производить используя восьмиразрядную решетку:


 

0

0

0

0

0

0

0

0

b

0

0

0

0

0

0

0

1

b

1

1

1

1

1

1

1

1

b


Мы получили число -1 в двоичном дополнительном коде. Чтобы убедится, что это в самом деле -1, сложим это число с 1:


1

1

1

1

1

1

1

1

b

0

0

0

0

0

0

0

1

b

0

0

0

0

0

0

0

0

b

Информация о работе Арифметические основы вычислительных машин