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

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

    • Если вы вообще ничего не знаете о шестнадцатеричной системе, начните с изучения основных понятий .
  2. Возведите 16 в степень от 1 до 5 и запишите результаты. Разряд каждой цифры шестнадцатеричного числа является результатом возведения в степень числа 16, так же как разряд каждой цифры десятичного числа является результатом возведения в степень числа 10. Следующий список результатов возведения 16 в различные степени пригодится в процессе преобразования:

    • 16 5 = 1048576
    • 16 4 = 65536
    • 16 3 = 4096
    • 16 2 = 256
    • 16 1 = 16
    • Если конвертируемое десятичное число больше 1048576, возведите 16 в большую степень, а результат добавьте в список.
  3. В списке найдите наибольшее число, которое меньше данного десятичного числа. Запишите данное десятичное число, которое нужно преобразовать в шестнадцатеричное. Посмотрите на список, приведенный выше, и найдите наибольший результат (возведения 16 в степень), который меньше данного десятичного числа.

    • Например, нужно преобразовать десятичное число 495 в шестнадцатеричное. В списке выберите число 256.
  4. Разделите десятичное число на выбранный результат возведения 16 в степень. Работайте с целочисленным результатом деления – не обращайте внимания на цифры после десятичной запятой.

    • В нашем примере: 495 ÷ 256 = 1,93..., поэтому работайте с числом 1 (это целое частное от деления).
    • Полученный результат – это первая цифра шестнадцатеричного числа. В этом случае вы разделили данное десятичное число на 256, поэтому 1 находится в разряде 256-и.
  5. Найдите первый остаток. То есть остаток от деления данного десятичного числа на выбранное число (делитель). Остаток вычисляется так же, как при делении в столбик.

    • Умножьте полученное частное на делитель. В нашем примере: 1 х 256 = 256 (то есть 1 в шестнадцатеричном числе представляет 256 по основанию 10).
    • Результат умножения вычтите из данного десятичного числа: 495 - 256 = 239 .
  6. Разделите остаток на следующий (по списку) результат возведения 16 в степень. Посмотрите на список с результатами возведения 16 в разные степени. Найдите результат, который находится под результатом, который вы выбрали для предыдущего деления. Разделите остаток на выбранное число, чтобы найти следующую цифру шестнадцатеричного числа (если остаток меньше выбранного числа, следующая цифра равна 0).

    • 239 ÷ 16 = 14 . Не обращайте внимания на цифры после десятичной запятой.
    • Это вторая цифра шестнадцатеричного числа, которая находится в разряде 16-и. Любое число от 0 до 15 может быть представлено одной шестнадцатеричной цифрой. Полученные цифры будут преобразованы и расставлены в конце этого метода.
  7. Найдите второй остаток. Для этого умножьте полученное частное на делитель, а затем результат умножения вычтите из первого остатка. Второй остаток нужно преобразовать в цифру шестнадцатеричного числа.

    • 14 x 16 = 224.
    • 239 - 224 = 15, то есть остаток равен 15 .
  8. Повторяйте описанный процесс до тех пор, пока остаток не будет меньше 16. Если остаток равен числу от 0 до 15, он может быть выражен одной шестнадцатеричной цифрой. Эта цифра будет последней цифрой.

    • Последней цифрой шестнадцатеричного числа является число 15, которое находится в разряде единиц.
  9. Преобразуйте полученные цифры и запишите ответ. Вы нашли все цифры шестнадцатеричного числа. Но они записаны в десятичной системе счисления. Чтобы преобразовать каждую цифру по основанию 16, воспользуйтесь следующими инструкциями:

    • Цифры от 0 до 9 не меняются.
    • 10 = A; 11 = В; 12 = C; 13 = D; 14 = E; 15 = F
    • В нашем примере вы получили цифры (1)(14)(15). То есть шестнадцатеричное число запишется так: 1EF .
  10. Проверьте ответ. Это легко сделать, если знать основы шестнадцатеричной системы счисления. Преобразуйте каждую цифру шестнадцатеричного числа в цифру по основанию 10, а затем умножьте на результат возведения 16 в определенную степень, которая соответствует позиции цифры. В нашем примере:

    • 1EF → (1)(14)(15)
    • Работайте с цифрами справа налево. 15 находится в разряде единиц: 16 0 = 1, поэтому 15 х 1 = 15.
    • Следующая цифра находится в разряде 16-и: 16 1 = 16, поэтому 14 x 16 = 224.
    • Следующая цифра находится в разряде 256-и: 16 2 = 256, поэтому 1 x 256 = 256.
    • Сложите найденные результаты: 256 + 224 + 15 = 495, то есть получилось исходное десятичное число.

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

Но, как мы знаем, традиционных ("арабских") цифр всего десять. А требуется шестнадцать. Получается, что не хватает шести знаков.

Замечание
Таким образом, возникает чисто дизайнерская задача по теме "Знаки" - придумать недостающие символы для цифр
.

Значит, в свое время специалистам необходимо было придумать какие-нибудь новые знаки. Но когда-то, в начале компьютерной эры, особого выбора в знаках не было. Программисты располагали только знаками цифр и букв. Поэтому они пошли по элементарному пути: взяли первые буквы латинского алфавита в качестве цифр, тем более что исторически это не первый случай (мы уже упоминали, что первоначально вместо цифр многие народы использовали буквы).

Замечание
Надеемся, что всем понятно, почему в этом случае нельзя использовать, например, числа "10", "11", "12" и т. д.? Потому что, если мы говорим о шестнадцатеричной системе счисления, то должно быть шестнадцать цифр , а не чисел
.

И десятичное число "10" стали обозначать латинской буквой "А" (точнее, "цифрой А"). Соответственно, дальше идут цифры "В", "С", "D", "Е" и "Р.

Поскольку мы намеревались построить шестнадцатеричную систему, то, начиная с нуля, здесь как раз и получится 16 цифр. Например, цифра "D" - это десятичное число "13", а цифра "F" - это десятичное число "15".

Когда к шестнадцатеричному числу "F" прибавляем единицу, то, поскольку эти цифры у нас кончились, в этом разряде ставим "О", а в следующий разряд переносим единицу, поэтому получается, что десятичное число "16" будет представлено в шестнадцатеричной системе счисления числом "10", т. е. получается "шестнадцатеричная десятка". Соединим десятичные и шестнадцатеричные числа в единую таблицу (табл. 4.5).

Таблица 4.5 . Соответствие десятичных и шестнадцатеричных чисел.

Десятичное число Шестнадцатеричное число Десятичное число Шестнадцатеричное число
0-9 0-9 29 1D
10 А 30
11 В 31 1F
12 С 32-41 20-29
13 D 42-47 2A-2F
14 Е 48-255 30-FF
15 F 256 100
16 10 512 200
17-25 11-19 1024 400
26 1280 500
27 4096 1000
28 1C

Шестнадцатеричная система используется, чтобы более компактно записывать двоичную информацию. В самом деле, "шестнадцатеричная тысяча", состоящая из четырех разрядов, в двоичном виде занимает тринадцать разрядов (1000 16 = 1000000000000 2).

При обсуждении систем счисления неоднократно фигурировали "десятки", "сотни" и "тысячи", поэтому необходимо обратить внимание на так называемые "круглые" числа.

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

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

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

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

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

Итак, Шестнадцать - 10 16 (одна "шестнадцать", ноль единиц)
Семнадцать - 11 16 (одна "шестнадцать", одна единица)
...
и так далее…
...
Двадцать пять - 19 16 (одна "шестнадцать", девять единиц)
Двадцать шесть - 1a 16 (одна "шестнадцать", десять единиц)
Двадцать семь - 1b 16 (одна "шестнадцать", одинадцать единиц)
...
и так далее…
...
Тридцать - 1e 16 (одна "шестнадцать", четырнадцать единиц)
Тридцать один - 1f 16 (одна "шестнадцать", пятнадцать единиц)
Тридцать два - 20 16 (две "шестнадцать", ноль единиц)
Тридцать три - 21 16 (две "шестнадцать", одна единица)
...
и так далее…
...
Двести пятьдесят пять - ff 16 (пятнадцать по "шестнадцать", пятнадцать единиц)

Двести пятьдесят шесть - 100 16 (одна "Двести пятьдесят шесть", ноль по "шестнадцать", ноль единиц)
Двести пятьдесят семь - 101 16 (одна "Двести пятьдесят шесть", ноль по "шестнадцать", одна единица)
Двести пятьдесят восемь - 102 16 (одна "Двести пятьдесят шесть", ноль по "шестнадцать", две единицы)
...
и так далее...
...

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

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

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

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

3e2c 16 = 3 *16 3 +14 *16 2 +2 *16 1 +12 *16 0

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

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

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

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

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

7b2.1f9 = 7 *16 2 +11 *16 1 +2 *16 0 +1 *16 -1 +15 *16 -2 +9 *16 -3

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

N = d n 16 n +d n-1 16 n-1 +…+d 1 16 1 +d 0 16 0 +d -1 16 -1 +d -2 16 -2 +…+d -(m-1) 16 -(m-1) +d -m 16 -m

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

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

N = d n q n +d n-1 q n-1 +…+d 1 q 1 +d 0 q 0 +d -1 q -1 +d -2 q -2 +…+d -(m-1) q -(m-1) +d -m q -m

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

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

Результат уже получен!

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

Существуют позиционные и не позиционные системы счисления. Арабская система счисления, которым мы пользуемся в повседневной жизни, является позиционной, а римская − нет. В позиционных системах счисления позиция числа однозначно определяет величину числа. Рассмотрим это на примере числа 6372 в десятичном системе счисления. Пронумеруем это число справа налево начиная с нуля:

Тогда число 6372 можно представить в следующем виде:

6372=6000+300+70+2 =6·10 3 +3·10 2 +7·10 1 +2·10 0 .

Число 10 определяет систему счисления (в данном случае это 10). В качестве степеней взяты значения позиции данного числа.

Рассмотрим вещественное десятичное число 1287.923. Пронумеруем его начиная с нуля позиции числа от десятичной точки влево и вправо:

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

1287.923 =1000+200+80 +7+0.9+0.02+0.003 = 1·10 3 +2·10 2 +8·10 1 +7·10 0 +9·10 -1 +2·10 -2 +3·10 -3 .

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

Ц n ·s n +Ц n-1 ·s n-1 +...+Ц 1 ·s 1 +Ц 0 ·s 0 +Д -1 ·s -1 +Д -2 ·s -2 +...+Д -k ·s -k

где Ц n -целое число в позиции n , Д -k - дробное число в позиции (-k), s - система счисления.

Несколько слов о системах счисления.Число в десятичной системе счисления состоит из множества цифр {0,1,2,3,4,5,6,7,8,9}, в восьмеричной системе счисления - из множества цифр {0,1,2,3,4,5,6,7}, в двоичной системе счисления - из множества цифр {0,1}, в шестнадцатеричной системе счисления - из множества цифр {0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}, где A,B,C,D,E,F соответствуют числам 10,11,12,13,14,15.В таблице Таб.1 представлены числа в разных системах счисления.

Таблица 1
Система счисления
10 2 8 16
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F

Перевод чисел из одной системы счисления в другую

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

Перевод чисел из любой системы счисления в десятичную систему счисления

С помощью формулы (1) можно перевести числа из любой системы счисления в десятичную систему счисления.

Пример 1. Переводить число 1011101.001 из двоичной системы счисления (СС) в десятичную СС. Решение:

1 ·2 6 +0 ·2 5 +1 ·2 4 +1 ·2 3 +1 ·2 2 +0 ·2 1 +1 ·2 0 +0 ·2 -1 +0 ·2 -2 +1 ·2 -3 =64+16+8+4+1+1/8=93.125

Пример 2. Переводить число 1011101.001 из восьмеричной системы счисления (СС) в десятичную СС. Решение:

Пример 3 . Переводить число AB572.CDF из шестнадцатеричной системы счисления в десятичную СС. Решение:

Здесь A -заменен на 10, B - на 11, C - на 12, F - на 15.

Перевод чисел из десятичной системы счисления в другую систему счисления

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

Целую часть числа переводится из десятичной СС в другую систему счисления - последовательным делением целой части числа на основание системы счисления (для двоичной СС - на 2, для 8-ичной СС - на 8, для 16-ичной - на 16 и т.д.) до получения целого остатка, меньше, чем основание СС.

Пример 4 . Переведем число 159 из десятичной СС в двоичную СС:

159 2
158 79 2
1 78 39 2
1 38 19 2
1 18 9 2
1 8 4 2
1 4 2 2
0 2 1
0

Как видно из Рис. 1, число 159 при делении на 2 дает частное 79 и остаток 1. Далее число 79 при делении на 2 дает частное 39 и остаток 1 и т.д. В результате построив число из остатков деления (справа налево) получим число в двоичной СС: 10011111 . Следовательно можно записать:

159 10 =10011111 2 .

Пример 5 . Переведем число 615 из десятичной СС в восьмеричную СС.

615 8
608 76 8
7 72 9 8
4 8 1
1

При приведении числа из десятичной СС в восьмеричную СС, нужно последовательно делить число на 8, пока не получится целый остаток меньшее, чем 8. В результате построив число из остатков деления (справа налево) получим число в восьмеричной СС: 1147 (см. Рис. 2). Следовательно можно записать:

615 10 =1147 8 .

Пример 6 . Переведем число 19673 из десятичной системы счисления в шестнадцатеричную СС.

19673 16
19664 1229 16
9 1216 76 16
13 64 4
12

Как видно из рисунка Рис.3, последовательным делением числа 19673 на 16 получили остатки 4, 12, 13, 9. В шестнадцатеричной системе счисления числе 12 соответствует С, числе 13 - D. Следовательно наше шестнадцатеричное число - это 4CD9.

Для перевода правильных десятичных дробей (вещественное число с нулевой целой частью) в систему счисления с основанием s необходимо данное число последовательно умножить на s до тех пор, пока в дробной части не получится чистый нуль, или же не получим требуемое количество разрядов. Если при умножении получится число с целой частью, отличное от нуля, то эту целую часть не учитывать (они последовательно зачисливаются в результат).

Рассмотрим вышеизложенное на примерах.

Пример 7 . Переведем число 0.214 из десятичной системы счисления в двоичную СС.

0.214
x 2
0 0.428
x 2
0 0.856
x 2
1 0.712
x 2
1 0.424
x 2
0 0.848
x 2
1 0.696
x 2
1 0.392

Как видно из Рис.4, число 0.214 последовательно умножается на 2. Если в результате умножения получится число с целой частью, отличное от нуля, то целая часть записывается отдельно (слева от числа), а число записывается с нулевой целой частью. Если же при умножении получиться число с нулевой целой частью, то слева от нее записывается нуль. Процесс умножения продолжается до тех пор, пока в дробной части не получится чистый нуль или же не получим требуемое количество разрядов. Записывая жирные числа (Рис.4) сверху вниз получим требуемое число в двоичной системе счисления: 0.0011011 .

Следовательно можно записать:

0.214 10 =0.0011011 2 .

Пример 8 . Переведем число 0.125 из десятичной системы счисления в двоичную СС.

0.125
x 2
0 0.25
x 2
0 0.5
x 2
1 0.0

Для приведения числа 0.125 из десятичной СС в двоичную, данное число последовательно умножается на 2. В третьем этапе получилось 0. Следовательно, получился следующий результат:

0.125 10 =0.001 2 .

Пример 9 . Переведем число 0.214 из десятичной системы счисления в шестнадцатеричную СС.

0.214
x 16
3 0.424
x 16
6 0.784
x 16
12 0.544
x 16
8 0.704
x 16
11 0.264
x 16
4 0.224

Следуя примерам 4 и 5 получаем числа 3, 6, 12, 8, 11, 4. Но в шестнадцатеричной СС числам 12 и 11 соответствуют числа C и B. Следовательно имеем:

0.214 10 =0.36C8B4 16 .

Пример 10 . Переведем число 0.512 из десятичной системы счисления в восьмеричную СС.

0.512
x 8
4 0.096
x 8
0 0.768
x 8
6 0.144
x 8
1 0.152
x 8
1 0.216
x 8
1 0.728

Получили:

0.512 10 =0.406111 8 .

Пример 11 . Переведем число 159.125 из десятичной системы счисления в двоичную СС. Для этого переведем отдельно целую часть числа (Пример 4) и дробную часть числа (Пример 8). Далее объединяя эти результаты получим:

159.125 10 =10011111.001 2 .

Пример 12 . Переведем число 19673.214 из десятичной системы счисления в шестнадцатеричную СС. Для этого переведем отдельно целую часть числа (Пример 6) и дробную часть числа (Пример 9). Далее объединяя эти результаты получим.