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



...на главную страницу


Рекомендуем вначале посмотреть статью Десятичная система счисления.

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

Как следует из названия, основанием данной системы является число шестнадцать 16 или в шестнадцатеричной системе 1016. Чтобы не было путаницы, при записи чисел в системах счисления отличных от десятичных, справа внизу от основной записи числа будем указывать основание системы счисления. Раз основанием системы является число шестнадцать, значит, для изображения чисел нам потребуется шестнадцать цифр. Первые десять цифр берутся из, привычной нам, десятичной системы (0,1,..,8,9) и еще добавляются шесть букв латинского алфавита (a,b,c,d,e,f) . Например в шестнадцатеричном числе 3f7c2 буквы "f" и "c" являются шестнадцатеричными цифрами.

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

Ноль - 0;
Один - 1;
Два - 2;
...
и так далее…
...
Восемь - 8;
Девять - 9;
Десять - a;
Одиннадцать - b;
Двенадцать - c;
Тринадцать - d;
Четырнадцать - e;
Пятнадцать - f;

А что делать дальше? Все цифры кончились. Как же изобразить число Шестнадцать? Поступим аналогично тому как мы поступали в десятичной системе. Там мы вводили понятие десятка, здесь же введем понятие "шестнадцать" и скажем, что шестнадцать - это одина "шестнадцать" и ноль единиц. А это уже можно и записать - "1016".

Итак, Шестнадцать - 1016 (одна "шестнадцать", ноль единиц)
Семнадцать - 1116 (одна "шестнадцать", одна единица)
...
и так далее…
...
Двадцать пять - 1916 (одна "шестнадцать", девять единиц)
Двадцать шесть - 1a16 (одна "шестнадцать", десять единиц)
Двадцать семь - 1b16 (одна "шестнадцать", одинадцать единиц)
...
и так далее…
...
Тридцать - 1e16 (одна "шестнадцать", четырнадцать единиц)
Тридцать один - 1f16 (одна "шестнадцать", пятнадцать единиц)
Тридцать два - 2016 (две "шестнадцать", ноль единиц)
Тридцать три - 2116 (две "шестнадцать", одна единица)
...
и так далее…
...
Двести пятьдесят пять - ff16 (пятнадцать по "шестнадцать", пятнадцать единиц)

А теперь, чтобы считать дальше, нужно вводить более крупную единицу счета. Если в десятичной системе, мы в подобной ситуации вводили сотню, то в шестнадцатеричной это будет "Двести пятьдесят шесть".

Двести пятьдесят шесть - 10016 (одна "Двести пятьдесят шесть", ноль по "шестнадцать", ноль единиц)
Двести пятьдесят семь - 10116 (одна "Двести пятьдесят шесть", ноль по "шестнадцать", одна единица)
Двести пятьдесят восемь - 10216 (одна "Двести пятьдесят шесть", ноль по "шестнадцать", две единицы)
...
и так далее...
...

Всегда, когда у нас исчерпался набор цифр для отображения следующего числа, мы вводим более крупные единицы счета (т.е. считаем по "шестнадцать", по "Двести пятьдесят шесть" и т.д.) и записываем число с удлинением на один разряд.

Рассмотрим число 3e2c16 записанное в шестнадцатиричной системе счисления. Про него можно сказать, что оно содержит: три по четыре тысячи девяносто шесть, "e" (четырнадцать) по двести пятьдесят шесть, два по шестнадцать и "c" (двенадцать) единиц. И получить его значение через входящие в него цифры можно следующим образом.

3e2c16 = 3*4096+14*256+2*16+12*1, здесь и далее знак * (звездочка) означает умножение.

Но ряд чисел 4096, 256, 16, 1 есть не что иное, как целые степени числа шестнадцать (основания системы счисления) и поэтому можно записать:

3e2c16 = 3*163+14*162+2*161+12*160

Подобным образом для шестнадцатиричной дроби (дробного числа) например: 0.5a216 про него можно сказать, что оно содержит: пять шестнадцатых, "a" (десять) двести пятьдесят шестых и две четыретысячи девяносто шестых долей. И его значение можно вычислить следующим образом :

0.5a216 = 5*(1/16) + 10*(1/256) + 2*(1/4096)

И здесь ряд чисел 1/16; 1/256 и 1/4096 есть не что иное, как целые степени числа шестнадцать и мы также можем записать:

0.5a216 = 5*16-1 + 10*16-2 + 2*16-3

Для смешанного числа 7b2.1f9 аналогичным образом можем записать:

7b2.1f9 = 7*162+11*161+2*160+1*16-1+15*16-2+9*16-3

Пронумеруем разряды целой части некоторого шестнадцатиричного числа, справа налево, как 0,1,2…n (нумерация начинается с нуля!). А разряды дробной части, слева направо, как -1,-2,-3…-m, то значение некоторого шестнадцатиричного числа может быть вычислено по формуле :

N = dn16n+dn-116n-1+…+d1161+d0160+d-116-1+d-216-2+…+d-(m-1)16-(m-1)+d-m16-m

Где: n - количество разрядов в целой части числа минус единица;
       m - количество разрядов в дробной части числа
       di - цифра стоящая в i-м разряде

Эта формула называется формулой поразрядного разложения шестнадцатиричного числа, т.е. числа записанного в шестнадцатиричной системе счисления. Если мы в этой формуле заменим число шестнадцать на некоторое произвольное число q, то получим формулу разложения для числа записанного в q-й системе счисления, т.е. с основанием q:

N = dnqn+dn-1qn-1+…+d1q1+d0q0+d-1q-1+d-2q-2+…+d-(m-1)q-(m-1)+d-mq-m

По этой формуле всегда можно вычислить значение числа записанного в любой позиционной системе счисления с основанием q.

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

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

общие сведения о системах счисления

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


...на главную страницу