Шестнадцатеричная система счисления
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 |
Рекомендуемые материалыОтветы на Аттестацию официального партнера amoCRM 2023 FREE Информационная система для учета материалов на складе FREE Автоматизированная система складского учета в ЗАО "Белгородский бройлер" Вариант 23 - Отчёт по практике №3 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