Мегаобучалка Главная | О нас | Обратная связь


Шестнадцатеричная система счисления



2015-12-13 1236 Обсуждений (0)
Шестнадцатеричная система счисления 0.00 из 5.00 0 оценок




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

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

 

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

 

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

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

 

Системы счисления разделяются на позиционные и непозиционные. Примером непозиционной системы счисления является римская система. Например, число 1994 в этой системе имеет вид

 

M C M X C I V

 

В латинской системе счисления каждая буква определяет соответствующую цифру:

 

M = 1000; D = 500; C = 100; L = 50; X = 10; V = 5; I = 1.

 

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

 

1000 - 100 + 1000 - 10 + 100 + 1 + 1 + 1

 

Значение цифры в римской системе не зависит от положения (позиции) в числе. Поэтому такая система счисления и называется непозиционной.

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

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

Рассмотрим произвольное число 83887. Это число можно записать как сумму значений отдельных его цифр:

 

80000 + 3000 + 800 + 80 + 7 .

 

Как видно из этой записи, значение любой цифры в числе, в частности цифры 8, зависит от ее позиции.

Пусть число, записанное в произвольной позиционной системе счисления, имеет n+1 цифру в целой части и m цифр в своей дробной части:

 

an, an-1, an-2,..., a2, a1, a0, b1, b2,...,bk,

 

где ai - i-ая цифра целой части, bj - j-ая цифра дробной части числа.

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

 

ann + an-1*pn-1 +...+ a1*p1 + a0*p0 + b1*p-1 + b2*p-2 +...+ bk*p-k,

 

где p - основание системы счисления.

Например, для десятичного числа имеем

 

83887,45 = 8*104 + 3*103 + 8*102 + 8*101 + 7*100 + 4*10-1 + 5*10-2.

 

В ЭВМ наиболее часто применяются двоичная, восьмеричная и шестнадцатеричная системы счисления (2, 8 и 16 c/c). При этом восьмеричная и шестнадцатеричная системы счисления используются, как правило, для компактной записи двоичных чисел.

 

Двоичная система счисления.

 

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

Рассмотрим произвольное двоичное число

 

11010,101 = 1*24 + 1*23 + 0*22 + 1*21 + 0*20 + 1*2-1 + 0*2-2 + 1*2-3 =

= 16 + 8 + 2 + 1/2 + 1/8 = 26 5/8 = 26,625 (10 с/с)

Представленная выше схема разложения двоичного числа является одновременно схемой перевода из 2 с/с в 10 c/c ( 2 --> 10 ).

Рассмотрим теперь перевод 10 --> 2. Такой перевод производится отдельно для целой и отдельно для дробной частей числа.

 

Пример. 43,37510 = 101011,0112

43 ¦ 2

42 21 ¦ 2

1 20 10 ¦ 2

1 10 5 ¦ 2

0 4 2 ¦ 2

1 2 1 ¦

0 ¦

<--------------

 

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

В самом деле, мы 5 раз разделили исходное число на 2. Следовательно, в нем 1 раз содержится 2 . Кроме этого, в числе также 0 раз содержится 24 , 1 раз 23 , 0 раз 22 , 1 раз 21 и 1 раз 20.

Тогда можно записать:

 

1*25 + 0*24 + 1*23 + 0*22 + 1*21 + 1*20,

 

т.е. мы получили разложение числа по степеням основания 2.

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

 

0, ¦ 935 * 10

9, ¦ 35 * 10

3, ¦ 5 * 10

5, ¦ 0

 

Эта схема показывает, что в исходном числе содержится 9*10-1 (после первого умножения) + 3 * 10-2 (после второго умножения) + 5 * 10-3 (после третьего умножения).

Если вместо умножения на 10 мы будем умножать на число p, то получим перевод дробной части числа в систему счисления с основанием p.

Для исходного числа

 

0, ¦ 375 * 2

0, ¦ 75 * 2

1, ¦ 5 * 2

1, ¦ 0

 

Следовательно, 0,37510 = 0,0112.

Конечная десятичная дробь не всегда образует конечную двоичную дробь. Например, для числа 0,4 получим

 

0, ¦ 4 * 2

0, ¦ 8 * 2

1, ¦ 6 * 2

1, ¦ 2 * 2

0, ¦ 4 * 2

0, ¦ 8 * 2

1, ¦ 6 * 2

..............

0,310 = 0,011001100110... = 0, (0110)2

 

Естественно, в этом случае полученное двоичное число округляют.

 

Восьмеричная система счисления.

 

Основанием системы является число 8. Для изображения числа используются 8 цифр: 0, 1, 2, 3, 4, 5, 6, 7.

Перевод 8 --> 10 :

 

35174,68 = 3*84 + 5*83 + 1*82 + 7*81 + 4*80 + 6*8-1 = 3*4096 + 5*512 + 1*64 +

+ 7*8 + 6/8 = 12288 + 2560 + 64 + 56 + 4 + 3/4 = 14972,7510.

 

Перевод 10 --> 8 . Схема перевода такая же, как и для 2 с/c.

397,210 = 615,158

397 ¦ 8 0, ¦ 2 * 8

32 49 ¦ 8 1, ¦ 6 * 8

77 48 6 4, ¦ 8 * 8

72 1 ¦ 6, ¦ 4 * 8

5 ¦ 3, ¦ 2 * 8

¦ 1, ¦ 6 * 8

<-------- ...........

0,210 = 0,146314631... = 0,(1463)

Полученная восьмеричная дробь округлена до двух цифр.

Правило округления: чтобы округлить дробное число до m цифр, нужно к (m+1)-ой цифре добавить половину цены разряда для данной системы счисления. Для 8 c/c половина цены разряда равна 4, для 2 с/c - 1, для 16 c/c - 8.

Примечание. Сложение в вышеприведенном примере было выполнено в восьмеричной системе счисления.

 

Перевод 8 --> 2. Для перевода восьмеричного числа в 2 c/c нужно каждую восьмеричную цифру записать в виде двоичной триады, т.е. трех двоичных цифр.

 

Восьмеричное число Двоичное число Двоичная триада

 

Например, 3763,248 = 011 111 110 011 , 010 1002 = 11111110011,01012

Такое правило перевода 8 --> 2 связано с тем, что 8 = 23.

Например,

 

3763,248 = 3*83 + 7*82 + 6*81 + 3*80 + 2*8-1 + 4*8-2 = (0*22 + 1*21 + 1*20)*29 +

+ (1*22 + 1*21 + 1*20)*26 + (1*22 + 1*21 + 0*20)*23 + (0*22 + 1*21 + 1*20)*20 +

+ (0*22 + 1*21 + 0*20)*2-3 + (1*22 + 0*21 + 0*20)*2-6 = 0*211 + 1*210 + 1*29 +

+ 1*28 + 1*27 + 1*26 + 1*25 + 1*24 + 0*23 + 0*22 + 1*21 + 1*20 + 0*2-1 + 1*2-2 +

+ 0*2-3 + 1*2-4 + 0*2-5 + 0*2-6 = 011 111 110 011, 010 1002

 

Для перевода 2 --> 8 следует разделить двоичное число влево и вправо от запятой на триады, а затем заменить каждую триаду одной восьмеричной цифрой. Если первая триада в целой части или последняя триада в дробной части числа получаются неполными, то нужно дополнить их незначащими нулями.

Пример.

 

001¦011¦110¦111,101¦101¦0102 = 1367,55228

 

В связи с тем, что перевод 10 --> 8 или 8 --> 10 выполняется быстрее, чем перевод 10 --> 2 или 2 --> 10, то вместо 10 --> 2 выполняют 10 --> 8 --> 2 , а вместо 2 --> 10 выполняют 2 --> 8 --> 10 .

 

Шестнадцатеричная система счисления.

 

Основанием системы является число 16. Для изображения числа нужно использовать 16 цифр. Так как цифр 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 недостаточно, то для остальных цифр используются первые буквы латинского алфавита: A (цифра 10), B (цифра 11), C (цифра 12), D (цифра 13), E (цифра 14), F (цифра 15).

Перевод 16 --> 10:

 

A8B7,E16 = 10*163 + 8*162 + 11*161 + 7*160 + 14*16-1 = 10*4096 + 8*256 + 11*16+ + 7 + 14/16 = 43191,87516.

 

Перевод 10 --> 16 .

 

7643,410 = 1DDB,6616

 

7643 ¦ 16 0, ¦ 4 * 16

64 477 ¦ 16 6, ¦ 4 * 16

124 32 29 ¦ 16 6, ¦ 4 * 16

112 157 16 1 6, ¦ 4 * 16

123 144 13 ¦ ............

112 13 ¦

11 ¦

¦

<---------

 

Перевод 16 --> 2 . Так как 16 = 24 , то в этом случае каждая шестнадцатеричная цифра должна быть представлена двоичной тетрадой.

 

16-ричное число Двоичное число Двоичная тетрада 16-ричное число Двоичное число Двоичная тетрада
A
B
C
D
E
F

 

Пример.

D85CA,9B16 = 1101 1000 0101 1100 1010, 1001 10112

 

Перевод 2 --> 16. В этом случае исходное число нужно разделить влево и вправо от запятой на тетрады, а затем каждую тетраду записать одной шестнадцатеричной цифрой.

Пример.

11¦1011¦1110¦0001¦,0110¦1102 = 3BE1,6C16

Для сокращения вычислений

вместо 10 --> 2 выполняют 10 --> 16 --> 2 ,

вместо 2 --> 10 выполняют 2 --> 16 --> 10 .

 

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

 

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

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

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

3. Выполнить сложение первого и второго чисел в двоичной системе.

4. Выполнить вычитание второго числа из первого в двоичной системе.

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

5. Выполнить сложение второго и третьего чисел в шестнадцатеричной системе.

6. Выполнить вычитание второго числа из третьего в шестнадцатеричной системе.

7. Выполнить сложение первого и второго чисел в восьмеричной системе.

8. Выполнить вычитание второго числа из первого в восьмеричной системе.

Первое число формируется на основе собственной даты рождения, где ДД – день в дате рождения, ММ – месяц, ГГГГ – год.

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

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

 

 

Таблица1.Варианты индивидуальных заданий

№ п/п Число №1 (10-ное) Число №2 (10-ное) Число №3 (16-ное)
ММГГГГДД 7915,56 3A6C
ДДММГГГГ 9488,36 7B6A
ММДДГГГГ 1124,88 9E3A
ДДГГГГММ 1246,57 5BC1
ГГГГДДММ 4598,38 A8B5
ГГГГММДД 7798,78 4D7D
ДДММГГГГ 1648,33 A1F2
ГГГГДДММ 4789,35 9CC3
ГГГГММДД 9878,66 D17E
ММДДГГГГ 7811,32 B8C3
ГГГГММДД 5645,19 F5A3
ГГГГММДД 3846,77 45FF
ДДГГГГММ 4056,66 AF96
ГГГГДДММ 3025,98 3A3D
ММГГГГДД 4478,11 7EF1
ДДММГГГГ 2121,13 73BA
ГГГГММДД 5087,78 C5D2
ММДДГГГГ 6476,91 83BC
ДДГГГГММ 5713,24 5F6A
ММГГГГДД 8653,54 B69E
ДДММГГГГ 9455,11 9A1B
ГГГГММДД 1314,56 2AA9
ММДДГГГГ 2257,66 F1F5
ДДГГГГММ 4546,73 BB83
ММГГГГДД 7381,19 48AC
ДДММГГГГ 6654,12 3D9B
ГГГГММДД 7891,63 44AE

 


1.3 Контрольные вопросы и практические задания:

 

1. Чем отличаются непозиционные системы счисления от позиционных?

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

3. Алгоритм перевода чисел из десятичной системы счисления в восьмеричную и наоборот.

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

5. Сложение чисел в двоичной системе.

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

7. Алгоритм перевода чисел из двоичной системы счисления в восьмеричную и наоборот.

8. Сложение чисел в восьмеричной системе.

9. Сложение чисел в шестнадцатеричной системе.

10. Вычитание чисел в двоичной системе.

11. Вычитание чисел в восьмеричной системе.

12. Вычитание чисел в шестнадцатеричной системе.



2015-12-13 1236 Обсуждений (0)
Шестнадцатеричная система счисления 0.00 из 5.00 0 оценок









Обсуждение в статье: Шестнадцатеричная система счисления

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...
Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (1236)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.006 сек.)