Шестнадцатеричная система счисления
2.3 Шестнадцатеричная система счисления
Данная система счисления имеет следующий набор цифр {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}. Основание системы p =16.
Следующая таблица содержит представления десятичных чисел из диапазона 0-15 в двоичной и шестнадцатеричной системах счисления.
Десятичные числа | Двоичные числа | Шестнадцатеричные числа |
0 | 0000 | 0 |
Рекомендуемые материалыFREE Информационная система компьютерного клуба FREE Лабораторная работа 23 по информатике FREE БД Информационная система Железнодорожная станция FREE Автоматизированная информационная система магазина "Магнит" FREE Информационная система университета FREE Информационная система организации 1 | 0001 | 1 |
2 | 0010 | 2 |
3 | 0011 | 3 |
4 | 0100 | 4 |
5 | 0101 | 5 |
6 | 0110 | 6 |
7 | 0111 | 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 |
Таблицей удобно пользоваться при преобразованиях чисел из одной системы счисления в другую. Количественный эквивалент некоторого целого n-разрядного числа вычисляется по формуле (1).
A(16)=an-1*16n-1+an-2*16n-2+…+a1*161+a0*160
Например, число F45ED23C в десятичной системы счисления будет следующим:
15*167+4*166+5*165+14*164+13*163+2*162+3*161+12*160 = 4099854908.
Десятичная система счисления
Данная система счисления имеет следующий набор цифр {0,1,2,3,4,5,6,7,8,9}, основание степени p =10. Количественный эквивалент некоторого целого n-значного десятичного числа вычисляется согласно формуле
A(10)=an-1*10n-1+an-2*10n-2+…+a1*101+a0*100
Перевод чисел из одной системы счисления в другую
Для того чтобы в полной мере использовать системы счисления в своей практической работе необходимо уметь выполнять взаимное преобразование чисел между тремя рассмотренными системами счисления.
Преобразование десятичных чисел в двоичные
Алгоритм преобразования следующий:
1) Разделить десятичное число А на основание системы счисления (в данном случае на 2).
2) Запомнить частное q и остаток а. Если в результате первого шага частное q0, то принять его за новое делимое и отметить остаток а, который будет очередной значащей цифрой числа. Далее вернуться к шагу 1, на котором в качестве делимого (десятичного числа) участвует полученное на шаге 2 частное.
3) Если в результате шага 1 частное q =0, алгоритм прекращается.
4) Выписать остатки в порядке обратном их получению. Тем самым будет составлен двоичный эквивалент исходного числа.
Рассмотрим два примера.
1.Преобразовать десятичное число 57 в двоичное число
Шаг Деление Частное Остаток
1 57/2 28 1 (МЗР)
2 28/2 14 0
3 14/2 7 0
4 7/2 3 1
5 3/2 1 1
6 1/2 0 1 (СЗР)
МЗР – младший значащий разряд.
СЗР – старший значащий разряд.
В процессе преобразования следует учитывать, что частное от деления 1 на 2 составляет нуль, а остаток равен 1.
Результат: 5710=1110012.
2. Преобразуем десятичное число 134 в двоичное число.
Шаг Деление Частное Остаток
1 134/2 67 0 (МЗР)
2 67/2 33 1
3 33/2 16 1
4 16/2 8 0
5 8/2 4 0
6 4/2 2 0
7 2/2 1 0
8 1/2 0 1 (СЗР)
Результат: 13410=100001102
Перевод чисел из десятичной системы счисления в
шестнадцатеричную
Практическое использование шестнадцатеричной системы объясняется тем, что число 16 есть число 2 в четвёртой степени. Поэтому шестнадцатеричную цифру используют как средство сокращённой записи 4-разрядного двоичного кода. Общая идея преобразования аналогична рассмотренной выше.
1. Разделить десятичное число А на 16. Запомнить частное q и остаток а.
2. Если в результате шага 1 частное q0, то принять его за новое делимое, записать остаток и вернутся к пункту 1.
3. Если частное q=0, то прекратить работу алгоритма.
4. Выписать остатки в порядке, обратном их получению. Тем самым составляется шестнадцатеричный эквивалент исходного десятичного числа.
1.Требуется преобразовать число 3276710 в 16-ную систему счисления.
Шаг Деление Частное Остаток
1 32767/16 2047 1510=F16 (МЗР)
2 2047/16 127 1510=F16
3 127/16 7 1510=F16
4 7/16 0 7 (СЗР)
Результат: 3276710=7FFF16
2.Преобразовать число 634.
Шаг Деление Частное Остаток
1 634/16 39 1010=А16 (МЗР)
2 39/16 2 7
3 2/16 0 2 (СЗР)
Результат: 63410=27А16
Перевод дробных чисел.
Любое дробное число в системе счисления с основанием p можно представить в виде
A(p)=an-1*pn-1+an-2*pn-2+…+a1*p1+a0*p0+a-1*p-1+a-2*p-2+…+a-m*p-m
Рассмотрим операции перевода чисел на примерах.
Перевести в десятичное представление дроби в двоичной системе счисления.
Как и в десятичной системе в двоичной системе для отделения дробной части от целой используется точка. Каждая позиция справа от этой точки имеет свой вес – вес разряда дробной части числа. Значение веса в этом случае равно основанию двоичной системы, возведённому в отрицательную степень. Такие веса – это дроби 1/2, 1/4, 1/8, 1/16, 1/32 и т.д., которые могут быть записаны как 2-1, 2-2, 2-3, 2-4 и т.д.
Преобразовать число:
110100,01001011=1*25+1*24+0*23+1*22+0*21+0*20+0*2-1+1*2-2+
+0*2-3+0*2-4+1*2-5+0*2-6+1*2-7+1*2-8
Перевести в десятичное представление дробь в шестнадцатеричной системе счисления:
1DF2,A1E416=1*163+13*162+15*161+2*160+10*16-1+1*16-2+14*16-3+
+4*16-4
Рассмотрим проблему представления десятичных дробей в двоичной и шестнадцатеричной системах счисления.
Общий алгоритм перевода десятичной дроби в другую систему счисления можно представить следующей последовательностью шагов.
1) Выделить целую часть десятичной дроби и выполнить её перевод в выбранную систему счисления по алгоритмам, рассмотренным выше;
2) Выделить дробную часть и умножить её на основание выбранной новой системы счисления;
3) В полученной после умножения десятичной дроби выделить целую части и принять её в качестве значения первого после запятой разряда числа в новой системе счисления;
4) Если дробная часть значения, полученного после умножения, равна нулю, то прекратить процесс перевода! Процесс перевода можно также прекратить в случае, если достигнута необходимая точность вычисления. В противном случае перейти к шагу 3.
Пример: Преобразовать десятичное число 0,3437510 в двоичное:
2*0,34375=0,6875 0 (СЗР)
2*0,6875=1,375 1
2*0,375=0,75 0
2*0,75=1,5 1
2*0,5=1 1 (МЗР)
Результат: 0,3437510=0,010112
Перевести в двоичную систему счисления десятичную дробь108,406
1) Переводят целую часть десятичной дроби в двоичную систему счисления:
10810=11011002
2) Переведём дробную часть в двоичную систему:
2*0,406=0,812 0 (СЗР)
2*0,812=1,624 1
2*0,624=1,248 1
2*0,248=0,496 0
2*0,496=0,992 0
2*0,992=1,984 1
2*0,984=1,968 1
2*0,968=1,936 1
…………………
Результат перевода следующий: 108,40610 1101100,011001112есс ная часть значения, полученного послеумножения, равна нулю, то прекратить процесс перевода! оритмам, рассмотренным выше;
Рассмотрим следующий пример: преобразовать десятичное число 634,328125 в шестнадцатеричное
63410=27А16
Перевод дробной части
16*0,328125=5,25 5(СЗР)
16*0,25=4,0 4(МЗР)
0,32812510=0,5416
Общий результат: 634,32812510=27А,5416
Двоичная арифметика
Сложение и вычитание двоичных чисел без знака.
Сложение двоичных чисел подобно сложению десятичных. При сложении двоичных чисел (как и десятичных) операции начинаются с обработки наименьших значащих цифр, расположенных в крайних справа позициях. Если результат сложения значащих цифр двух слагаемых не помещается в соответствующем разряде результата, то происходит перенос . Цифра, переносимая в соседний слева разряд, добавляется к содержимому последнего. Сложение цифр любых одноименных разрядов может повлечь за собой перенос в более старший разряд. Перенос возникает, если результат сложения больше 1 в случае двоичной системы.
Рассмотрим пример:
Слагаемое 99…………………01100011
+
Слагаемое 95…………………01011111
Сумма 194………………..11000010
Рассмотренный пример свидетельствует о простоте процедуры двоичного сложения. Единственное неудобство, присущее двоичным операциям - громоздкость записи больших чисел в двоичной форме, что вызывает множество переносов из одного разряда в другой. Рассмотрим таблицу 1. Результат сложения двоичных цифр одноименных разрядов находится на пересечении соответствующих строки и столбца. Если пересечение происходит на тёмном фоне, то имеет место перенос единицы в ближайший старший разряд.
В ближайший старший разряд.
+ | Слагаемое | ||
0 | 1 | ||
Слагаемое | 0 | 0 | 1 |
1 | 1 | 0 |
Двоичное вычитание подобно десятичному. Таблица 2 иллюстрирует правило двоичного вычитания. Из таблицы 2 следует, что, если уменьшаемое меньше вычитаемого, то имеет место заём. Это происходит в том случае, когда из нуля, содержащегося в двоичном разряде, вычитается единица. Благодаря заёму единицы из ближайшего старшего разряда в одноимённом разряде результата получается единица.
- | Вычитаемое | ||
0 | 1 | ||
Уменьшаемое | 0 | 0 | 1 |
1 | 1 | 0 |
Если Вам понравилась эта лекция, то понравится и эта - 14. Датчики Холла и магнитосопротивления.
Пример:
Уменьшаемое 109………………..01101101
-
Вычитаемое 49………………...00110001
Разность 60………………..00111100