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

Шестнадцатеричная система счисления - позиционная система счисления с основанием 16, в которой для записи чисел используются символы 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.

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

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

Часто в информатике используют шестнадцатеричную систему, так как запись чисел в ней значительно короче записи чисел в двоичной системе. Может возникнуть вопрос: почему бы не использовать для записи очень больших чисел систему счисления, например по основанию 50? Для такой системы счисления необходимы 10 обычных цифр плюс 40 знаков, которые соответствовали бы числам от 10 до 49 и вряд ли кому-нибудь понравится работать с этими сорока знаками. Поэтому в реальной жизни системы счисления по основанию, большему 16, практически не используются.

Перевод чисел из системы счисления с основанием p>1 в десятичную систему счисления:

При переводе чисел из системы счисления с основанием P в десятичную систему счисления необходимо пронумеровать разряды целой части справа налево, начиная с нулевого, и в дробной части, начиная с разряда сразу после запятой слева направо (начальный номер -1). Затем вычислить сумму произведений соответствующих значений разрядов на основание системы счисления в степени, равной номеру разряда. Это и есть представление исходного числа в десятичной системе счисления.

Вообще, число x может быть представлено в системе с основанием p, как x = an·pn +an – 1·pn–1 + a1·p1 + a0·p0, где an...a0 – цифры в представлении данного числа. Так, например,

103510=1·103 + 0·102 + 3·101 + 5·100;

10102 = 1·23 + 0·22 + 1·21 + 0·20 = 10.

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

а) 1000001(2).

1000001(2)=1 26+0 25+0 24+0 23+0 22+ 0 21+1 20 = 64+1=65(10).

Замечание. Очевидно, что если в каком-либо разряде стоит нуль, то соответствующее слагаемое можно опускать.

б) 1000011111,0101(2).

1000011111,0101(2)=1 29 + 1 24 + 1 23 + 1 22 + 1 21 + 1 20 + 1 2-2 + 1 2-4 = 512 + 16 + 8 + 4 + 2 + 1 + 0,25 + 0,0625 = 543,3125(10).

в) 1216,04(8).

1216,04(8)=1 83+2 82+1 81+6 80+4 8-2 = 512+128+8+6+0,0625 = 654,0625(10).

г) 29A,5(16).

29A,5(16) = 2 162+9 161+10 160+5 16-1 = 512+144+10+0,3125 = 656,3125(10).

 

Алгоритм перевода чисел из десятичной системы счисления в систему с основанием P > 1:

При переводе чисел из десятичной системы счисления в систему с основанием P > 1 обычно используют следующий алгоритм:

1) если переводится целая часть числа, то она делится на P, после чего запоминается остаток от деления. Полученное частное вновь делится на P, остаток запоминается. Процедура продолжается до тех пор, пока частное не станет равным нулю. Остатки от деления на P выписываются в порядке, обратном их получению;

2) если переводится дробная часть числа, то она умножается на P, после чего целая часть запоминается и отбрасывается. Вновь полученная дробная часть умножается на P и т.д. Процедура продолжается до тех пор, пока дробная часть не станет равной нулю. Целые части выписываются после двоичной запятой в порядке их получения. Результатом может быть либо конечная, либо периодическая двоичная дробь. Поэтому, когда дробь является периодической, приходится обрывать умножение на каком-либо шаге и довольствоваться приближенной записью исходного числа в системе с основанием P.

Примеры решения задач

 

1. Перевести данное число из десятичной системы счисления в двоичную:
а) 464(10); б) 380,1875(10); в) 115,94(10) (получить пять знаков после запятой в двоичном представлении).

Решение.

464 | 0 380 | 0 |1875 115 | 1 |94 232 | 0 190 | 0 0|375 57 | 1 1|88 116 | 0 95 | 1 0|75 28 | 0 1|76 58 | 0 47 | 1 1|5 14 | 0 1|52а) 29 | 1 б) 23 | 1 1|0 в) 7 | 1 1|04 14 | 0 11 | 1 3 | 1 0|08 7 | 1 5 | 1 1 | 1 0|16 3 | 1 2 | 0 1 | 1 1 | 1

а) 464(10) = 111010000(2); б) 380,1875(10) = 101111100,0011(2); в) 115,94(10) = 1110011,11110(2) (в настоящем случае было получено шесть знаков после запятой, после чего результат был округлен).

Алгоритм перевода из 2-ой в систему с основанием степень двойки (4, 8, 16):

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

1) достаточно объединить цифры двоичного числа в группы по столько цифр, каков показатель степени, и использовать приведенный ниже алгоритм. Например, если перевод осуществляется в восьмеричную систему, то группы будут содержать три цифры (8 = 23). В целой части будем производить группировку справа налево, в дробной — слева направо.

2) Если в последней группе недостает цифр, дописываем нули: в целой части — слева, в дробной — справа.

3) Затем каждая группа заменяется соответствующей цифрой новой системы. Соответствия приведены в таблицах.

P

 

P

 

P
A B C D E F

Переведем из двоичной системы в шестнадцатеричную число 1111010101,11(2).

001111010101,1100(2) = 3D5,C(16).

 

Выполнение арифметических операций в системе счисления с основанием P= 2, 8 и 16

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

+

 

 
´

 

 

+

 

 
´

 

 

+ A B C D E F
A B C D E F
A B C D E F
A B C D E F
A B C D E F
A B C D E F
A B C D E F
A B C D E F
A B C D E F
A B C D E F
A B C D E F
A A B C D E F
B B C D E F 1A
C C D E F 1A 1B
D D E F 1A 1B 1C
E E F 1A 1B 1C 1D
F F 1A 1B 1C 1D 1E

 

 
´ A B C D E F
A B C D E F
A C E 1A 1C 1E
C F 1B 1E 2A 2D
C 1C 2C 3C
A F 1E 2D 3C 4B
C 1E 2A 3C 4E 5A
E 1C 2A 3F 4D 5B
1B 2D 3F 5A 6C 7E
A A 1E 3C 5A 6E 8C
B B 2C 4D 6E 8F 9A A5
C C 3C 6C 9C A8 B4
D D 1A 4E 5B 8F 9C A9 B6 C3
E E 1C 2A 7E 8C 9A A8 B6 C4 D2
F F 1E 2D 3C 4B 5A A5 B4 C3 D2 E1

 

 

3. Сложить числа:


а) 10000000100(2) + 111000010(2) = 10111000110(2).

б) 223,2(8) + 427,54(8) = 652,74(8).

в) 3B3,6(16) + 38B,4(16) = 73E,A(16).

10000000100 223,2 3B3,6 + 111000010 + 427,54 +38B,4 ------------ ------- ----- 10111000110 652,74 73E,A

4. Выполнить вычитание:

а) 1100000011,011(2) - 101010111,1(2) = 110101011,111(2).

б) 1510,2(8) - 1230,54(8) = 257,44(8).

в) 27D,D8(16) - 191,2(16) = EC,B8(16).

1100000011,011 1510,2 27D,D8 -101010111,1 -1230,54 -191,2 -------------- ------- ------ 110101011,111 257,44 EC,B8

5. Выполнить умножение:

а) 100111(2) ´ 1000111(2) = 101011010001(2).

б) 1170,64(8) ´ 46,3(8) = 57334,134(8).

в) 61,A(16) ´ 40,D(16) = 18B7,52(16).

100111 1170,64 61,A *1000111 * 46,3 *40,D ------------- -------------- ---------- 100111 355 234 4F 52 + 100111 + 7324 70 + 1868 100111 47432 0 ---------- 100111 ------------- 18B7,52 ------------- 57334,134 101011010001








Дата добавления: 2016-05-25; просмотров: 1193;


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

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.021 сек.