Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №1.pdf
Скачиваний:
28
Добавлен:
13.04.2015
Размер:
234.03 Кб
Скачать

1.Логически сложить два числа: 1010(2) or 10100(2) = 11110(2)

2.Сложить числа по модулю 2 10101(2) и 1110(2):

10101(2) xor 1110(2) = 11011(2)

3. Логически умножить два числа 1011(2) и 101(2): 1011(2) and 101(2) = 0001(2)

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

Перевод чисел из одной системы счисления в другую составляет важную часть машинной арифметики. Рассмотрим основные правила перевода.

Правило 1

Для перевода чисел из любой системы счисления в десятичную можно воспользоваться выражением

(1). Сначала в десятичную систему счисления переводится основание той системы, из которой осуществляется перевод, а затем цифры исходного числа. Результаты подставляются в выражение (1). Полученная сумма дает искомый результат.

Пример. Перевести в десятичную систему счисления числа С7(16) и 1010(2) :

С7(16) = 12*161 + 7*160 = 192 + 7 =199 (10) ; 1010 (2) = 1*23 + 1*21 = 8+2 10.

Схема Горнера

Эквивалентными являются алгоритмы для вычисления значения многочлена в некоторой точке х, заданные следующими формулами:

(8)

(9)Запись (9) носит название вычислительной схемы Горнера. Например:

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

Чтобы перевести целую часть числа из десятичной системы счисления в систему с основанием р, необходимо разделить ее на р, остаток даст младший разряд числа. Полученное частное вновь делят на р — остаток даст следующий разряд числа и т.д.

Пример. Перевести десятичное число 25 в двоичную систему счисления:

25

: 2

= 12

(остаток 1);

12

: 2

= 6

(остаток 0),

6 : 2 = 3

(остаток 0),

3 : 2 = 1

(остаток 1),

1 : 2 = 0

(остаток 1).

Таким образом, 25(10) = 11001(2) .

5

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

Правило 2

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

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

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

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

Правило 3

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

12345667(8) = 001 010 011 100 101 110 110 111(2) = = 1 010 011 100 101 110 110 111(2).

Правило 4

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

1100111(2) = 001 100 111(2) = 147(8).

Правило 5

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

12345ABCDEF(16) = 1 0010 0011 0100 0101 1010 1011 1100 1101 1110 1111(2); 110011110101110(2) = 0110 0111 1010 1110(2) = 67AE(16).

Правило 6

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

1234567(8) = 001 010 011 100 101 110 111(2)

= 0101 0011 1001 0111 0111(2) = 53977(16); 1267ABC(16) = 0001 0010 0110 0111 1010 1011 1100(2)

= 010 010 011 001 111 101 010 111 100(2) = 223175274(16).

Кодирование информации

В качестве наименьшей единицы измерения информации принят 1 бит. 1 бит соответствует одному разряду в двоичной системе счисления. Эта система лежит в основе архитектуры компьютеров. Для представления всего многообразия величин в компьютере объединяют несколько двоичных разрядов.

6

Поэтому более крупными единицами измерения И в компьютере являются: 1 байт = 8 бит; 1 Кбайт=210 байт; 1 Мбайт = 210 Кбайт; 1 Гбайт = 210 Мбайт.

Поскольку информация в компьютере хранится в дискретной форме, для ее записи используется некоторый конечный набор знаков, называемый алфавитом. Очень часто в качестве алфавита используется таблица кодов, содержащая около 256 знаков. Каждому знаку соответствует числовой код. Этот код хранит образ соответствующего знака в памяти компьютера. Для понимания системы кодирования информации необходимо рассмотреть правила преобразования числовых кодов в различные системы счисления.

Наиболее популярна таблица кодов ASCII. Она состоит из 16 строк и 16 столбцов, пронумерованных от 0 до F в 16 -ричной системе счисления. Например, в столбце 4 и строке D таблицы расположена заглавная буква М латинского алфавита. Таким образом при записи текста с такой буквой, она будет храниться в памяти в виде кода 4D(16) или 77(10). Другие коды: "," - 2C; "j" - 6A; "2" - 32. Обычно последние 8 столбцов таблицы кодов содержат буквы национальных алфавитов, графические знаки. В большом количестве разновидностей таблицы кодов ASCII первая половина таблицы является неизменной, а вторая - переменной.

Таким образом, для хранения одного символа в ASCII-кодировке требуется 1 байт памяти компьютера. Однако 8-битовая кодировка является недостаточной для кодировки всех символов расширенных алфавитов. Все препятствия могут быть сняты при переходе на 16-битовую кодировку Unicode, допускающую 65536 кодовых комбинаций.

Числа кодируются особым образом. Например, целое число, в зависимости от типа, может кодироваться одним, двумя или четырьмя байтами. Для получения кода положительного целого числа достаточно перевести его из десятичной в двоичную систему счисления, например, десятичное число 12 кодируется как двоичное 00001100 (при однобайтовом типе числа). Отрицательные целые числа часто кодируются в так называемом дополнительном коде, когда старший двоичный разряд используется как признак отрицательности числа, а остальные разряды должны быть такими, чтобы сумма отрицательного числа и его модуля равнялась нулю. Так, десятичное число –1 будет представлено как двоичное 1111111111111111 (при двухбайтовом типе числа). Минимально допустимое двухбайтовое число — 32768 кодируется как 1000000000000000, а максимальное 32767

— как 0111111111111111.

Для вещественных чисел система кодирования является более сложной. Обычно для каждого числа часть байтов отводится для хранения мантиссы числа, а часть — для порядка числа.

Задание

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

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

вразделе «Варианты заданий к работе»

7

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

1.Для чего нужно изучать системы счисления, которые используются в компьютере?

2.Что называется системой счисления?

3.На какие два типа можно разделить все системы счисления?

4.Какие системы счисления называются непозиционными? Почему? Приведите пример такой системы счисления и записи чисел в ней?

5.Какие системы счисления применяются в вычислительной технике: позиционные или непозиционные? Почему?

6.Какие системы счисления называются позиционными?

7.Как изображается число в позиционной системе счисления?

8.Что называется основанием системы счисления?

9.Что называется разрядом в изображении числа?

10.Как можно представить целое положительное число в позиционной системе счисления?

11.Приведите пример позиционной системы счисления.

12.Опишите правила записи чисел в десятичной системе счисления:

i.а) какие символы образуют алфавит десятичной системы счисления?

ii.б) что является основанием десятичной системы счисления?

iii.в) как изменяется вес символа в записи числа в зависимости от занимаемой позиции?

13.Какие числа можно использовать в качестве основания системы счисления?

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

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

16.Почему двоичная система счисления используется в информатике?

17.Дайте характеристику шестнадцатеричной системе счисления: алфавит, основание, запись чисел. Приведите примеры записи чисел.

18.По каким правилам выполняется сложение двух положительных целых чисел?

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

20.Каковы правила выполнения логических операций в двоичной системе счисления?

21.Для чего используется перевод чисел из одной системы счисления в другую?

22.Сформулируйте правила перевода чисел из системы счисления с основанием р в десятичную систему счисления и обратного перевода: из десятичной системы счисления в систему счисления с основанием р. Приведите примеры.

23.В каком случае для перевода чисел из одной системы счисления (СС) в другую может быть использована схема Горнера вычисления значения многочлена в точке? Каковы преимущества ее использования перед другими методами? Приведите пример.

24.Как выполнить перевод чисел из двоичной СС в восьмеричную и обратный перевод? Из двоичной СС в шестнадцатеричную и обратно? Приведите примеры. Почему эти правила так просты?

8

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

26.Какая форма представления информации называется непрерывной, а какая – дискретной?

27.Какая форма представления информации – непрерывная или дискретная – приемлема для компьютеров и почему?

28.Какова единица измерения информации?

29.Как задаются производные единицы измерения информации?

30.Как определяется алфавит?

31.Как кодируются символы в памяти компьютера?

32.Что собой представляет таблица ASCII кодов?

33.Как кодируются целые положительные числа в памяти компьютера?

34.Каковы особенности представления целых отрицательных чисел в памяти компьютера?

35.Как кодируются действительные числа?

9

Варианты заданий к работе

Номер

Задание

варианта

 

 

1001100102 ?10 ?2

1.7F216 ?2

10111012 ?16?10

111010012 or 10011102 = ?2

110100112 ?10 ?2

2.E216 ?2

10111012 ?16 ?10

101010112 + 1010102 = ?2

11111102 ?10 ?2

3.8A16 ?2

100111102 ?16 ?10

101011112 xor 111102 = ?2

10000012 ?10 ?2

4.10116 ?2

101012 ?16 ?10

101011012 and 11011002 = ?2

010101012 ?10 ?2

5.81916 ?2

1010010012 ?16 ?10

111011012 - 10101012 = ?2

111001112 ?10?2

6.A0116 ?2

10010112 ?16 ?10

110011012 * 1110102 = ?2

1001001012 ?10 ?2

7.22216 ?2

1010002 ?16 ?10 not 101010012 = ?2

11011112 ?10 ?2

8.ABC16 ?2

1100112 ?16 ?10

100000112 10011102 = ?2

1011011012 ?10?2

9.66616 ?2

1011102 ?16 ?10

101100112 100102 = ?2

111011102 ?10 ?2

10.91116 ?2

100012 ?16 ?10

100110012 + 1001102 = ?2

10